mcpField
O
openydt-park

openydt-park

github.com/xiaowen-0725Other191 installsUpdated 10w ago
Repository

About openydt-park

openydt-park is a skill for using the openydt CLI to query and update parking-lot information. It covers lot details, spaces, rates, and vehicle-related information, with most queries callable independently.

Key features

  1. 01Lists authorized parking lots
  2. 02Queries lot, area, channel, and device details
  3. 03Checks vacant and remaining spaces
  4. 04Retrieves rate information and estimates charges
  5. 05Looks up vehicle free parking and coupon records
  6. 06Updates real-time space counts with confirmation

Use cases

  1. 01Checking available spaces at a lot or nearby area
  2. 02Reviewing lot details and cloud parking equipment
  3. 03Retrieving lot rates and estimating another vehicle type
  4. 04Reporting updated real-time parking capacity

Install

Copy the command and run it in a terminal.

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

After installing, type/openydt-parkin Claude Code to confirm it loaded.

Bundled filesevals/routing-evals.jsonreferences/openydt-park-charge.md

Details

From the project 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}
  ]
}'

Comments

Markdown supported