mcpField
O
openydt-park

openydt-park

github.com/xiaowen-0725其他191 次安装10 周前更新
代码仓库

关于 openydt-park

openydt-park 是通过 openydt 命令行查询和更新停车场信息的技能,涵盖车场、车位、收费及车辆信息;多数查询可独立调用。

主要功能

  1. 01列出已授权停车场
  2. 02查询车场、区域、通道和设备信息
  3. 03查询空车位与实时剩余车位
  4. 04获取收费信息并测算费用
  5. 05查询车辆免费停车和优惠券记录
  6. 06确认后更新实时车位数

适用场景

  1. 01查询某车场或附近区域的空余车位
  2. 02查看车场信息及云停车场设备
  3. 03获取车场收费并测算其他车型费用
  4. 04上报更新后的实时车位数

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/xiaowen-0725/openydt-cli --skill openydt-park

安装后在 Claude Code 中输入/openydt-park确认已加载。

附带文件evals/routing-evals.jsonreferences/openydt-park-charge.md

详细介绍

来自项目 README

openydt-park — 车场信息域

CRITICAL:开始前 MUST 先用 Read 工具读取 ../openydt-shared/SKILL.md,掌握认证 / profile / 签名 / 状态码 / 限速 / 安全规则后再执行任何 openydt park 命令。

何时用本技能

当用户的诉求落在「停车场静态/动态信息」上时使用本域,例如:

  • 查停车场:列出授权商所有车场、看单个车场的基本信息 / 系统信息 / 区域 / 通道 / 云车场设备。
  • 查车位:单个车场空车位、区域内(按经纬度半径)空车位、单个车场实时剩余车位、剩余车位 + 免费时长。
  • 查费 / 计费:根据车场编码取收费信息(查费)、对某收费标准做其他车型计费测算。
  • 车辆相关:车辆免费停车信息、车辆屏显及语音、车辆优惠券(电子券)记录。
  • 授权 / 维护:取该账号下所有授权车场编码;设置(上报)车场实时车位(写操作)。

意图路由:

  • 涉及「订单/账单/缴费/月票」→ 用 openydt trade(见 [[openydt-billing]])。
  • 涉及「在场车/进出场/锁车/放行」→ 用 openydt parking(见 [[openydt-record]])。
  • 涉及「黑/白名单、访客」→ 用 openydt blacklist / openydt redlist / openydt visitor(见 [[openydt-list]])。
  • 涉及「电子券发放/核销」→ 用 openydt coupon(见 [[openydt-coupon]])。
  • 涉及「设备开/关闸/抓拍/屏显下发」→ 用 openydt device(见 [[openydt-device]])。
  • 涉及「月票/访客/黑名单月卡」→ 用 openydt ticket(见 [[openydt-monthticket]])。
  • 「车场本身的属性、车位、车场维度查费」→ 留在本域 openydt park。

本域以查询为主、无强依赖链:各查询命令大多只需要 parkCode(停车场编号),可独立调用。仅 get-park-ydt-other-car-type-charge-info 需要先调用查费命令拿到结果对象后回填(见业务流程)。

可用命令

<use> 为命令真实 kebab 名,调用形如 openydt park <use>。所有命令支持 --body '<json>' 直接传完整请求体;列出的字段也提供同名 flag(flag 会合并覆盖 --body)。

中文名命令读/写关键参数
获取授权商所有停车场信息openydt park get-park-list读(无)
获取该账号下所有授权车场编码openydt park get-auth-park-codes读(无)
获取停车场全部信息openydt park get-all-park-info读--park-code、--update-time-from、--update-time-to(均可选)
获取单个停车场基本信息openydt park get-park-info读--park-code(可选)
获取停车场系统信息(VEMS/云车场)openydt park get-park-system-info读--park-code(可选)
获取车场区域信息openydt park get-park-area-info读--park-code*
获取云停车场通道信息openydt park get-channel-info读--park-code*
获取云停车场设备信息openydt park get-cloud-park-device-info读--park-code*
获取单个停车场空车位信息openydt park get-ept读--park-code*
获取区域内所有停车场空车位信息openydt park get-area-ept读--longitude、--latitude、--radius*
获取单个停车场实时车位信息openydt park get-park-remain-carport读--park-code*、--area-code、--area-id
获取停车场剩余车位和免费时长openydt park get-park-remain-carport-and-free-time读parkCodes*(车场编号数组,用 --body)
根据车场编码获取收费信息(查费)openydt park get-park-ydt-charge读--park-code*、--start-date-time
其他车型计费测算openydt park get-park-ydt-other-car-type-charge-info读--park-code、--standard-seq、--car-type、--start-time、parkYdtChargeVo*(用 --body)
获取车辆免费停车信息openydt park get-car-free-parking-info读--park-code、--parking-code、--car-code、--vip-type、--is-support-special-charge-rule、--is-support-trigger-event
获取车辆屏显及语音openydt park get-display-voice-by-car-code读--park-code、--car-code、--vip-type、channelCodeList(用 --body)、--feature-pass-time、--whether-charge
获取车辆优惠券信息列表openydt park get-car-coupon-record读--page-num、--page-size、carPlateList*(车牌列表,用 --body)
设置停车场实时车位信息openydt park set-park-remain-carport写(需 --yes)--park-code、remainCarportList(区域车位数组,用 --body)

备注:标 * 为必填。carPlateList / channelCodeList / parkCodes / parkYdtChargeVo / remainCarportList 等数组/对象型字段没有独立 flag,需通过 --body JSON 传入。适用场景:标注「云停车场」的命令(区域、通道、云车场设备、查费、计费测算、设置车位)仅对云车场有效,其余 VEMS 传统车场与云车场通用。

本表未列、但属 park 域的可调用接口(getParkEquipmentInfo / getCarOwnerInfo / getMonthTicketAppointmentPark),用 openydt api <cmd> --body '{...}' 调用;详见 [[openydt-api-explorer]]。

业务流程

查费 → 其他车型计费测算(唯一需要回填上一步响应的链路)
  1. 先查费:openydt park get-park-ydt-charge --park-code <parkCode>,从响应中拿到查费信息对象(即 parkYdtChargeVo,含 chargeTypeSeq / parkSysType / parkYdtChargeStandardVoList 等,其中每个收费标准带有计费规则 ID standardSeq 与车辆类型 carType)。
  2. 再测算:把上一步整个查费返回结果作为 parkYdtChargeVo 字段、并指定要测算的 standardSeq(收费标准 ID)、carType(计费规则的车辆类型,即「特殊车辆类型 ID」)、startTime(计费开始时间),调用: openydt park get-park-ydt-other-car-type-charge-info --body '{...}'
    • 强调:standardSeq、carType、parkYdtChargeVo 必须取自上一步 get-park-ydt-charge 的响应字段,不可臆造。

get-park-ydt-charge 返回的是车场计费组 parkYdtChargeStandardVoList(一个车型可挂多套标准),不是计费规则原文。每套标准里 standardSeq = 计费规则 ID(测算回填的就是它),chargeMap 是按时长档(1/2/3/4/8 小时)的费用预览估算(value.fee 单位元,以当前时刻试算)。要精确算某车某时段费用,用 trade 域实时查费([[openydt-billing]] 的 get-park-fee),别拿 chargeMap 当精确账单。

完整字段解读与「转人话」呈现范例见 references/openydt-park-charge.md

其余命令均为独立查询:拿到 parkCode(可先用 get-park-list / get-auth-park-codes 获取授权车场编码)后即可直接调用对应查询。

示例

  1. 列出账号下所有授权车场(无参数):
openydt park get-park-list
  1. 查某车场的实时剩余车位(parkCode 为文档化测试值,仅 test):
openydt park get-park-remain-carport --park-code 1ZS7H5PQH9
  1. 按经纬度 + 半径查区域内所有车场空车位(示例坐标,按实际位置替换):
openydt park get-area-ept --longitude 113.158978 --latitude 23.046084 --radius 200
  1. 写操作示例——设置车场实时车位(先 --dry-run 预览,确认无误再 --yes 实发;parkCode 为文档化测试值,仅 test):
# 第一步:预览签名请求(不实际发送)
openydt park set-park-remain-carport --dry-run --body '{
  "parkCode": "1ZS7H5PQH9",
  "remainCarportList": [
    {"areaId": 1, "totalRemain": 50, "tempRemain": 30, "fixedRemain": 20}
  ]
}'

# 第二步:确认无误后加 --yes 实发
openydt park set-park-remain-carport --yes --body '{
  "parkCode": "1ZS7H5PQH9",
  "remainCarportList": [
    {"areaId": 1, "totalRemain": 50, "tempRemain": 30, "fixedRemain": 20}
  ]
}'

评论

支持 Markdown