CRITICAL: Before starting, MUST first use the Read tool to read
../openydt-shared/SKILL.md, master authentication / profile / signature / status codes / rate limiting / security rules before executing anyopenydt parkcommand.
When to use this skill
Use this domain when the user's request falls under "parking lot static/dynamic information", for example:
- Query parking lots: list all parking lots of the authorized vendor, view a single parking lot's basic information / system information / areas / passages / cloud parking lot devices.
- Query parking spaces: vacant spaces in a single parking lot, vacant spaces within an area (by latitude/longitude radius), real-time remaining spaces in a single parking lot, remaining spaces + free duration.
- Query fees / charging: retrieve charging information by parking lot code (fee query), perform charging estimation for other vehicle types against a certain charging standard.
- Vehicle-related: vehicle free parking information, vehicle screen display and voice, vehicle coupon (electronic coupon) records.
- Authorization / maintenance: retrieve all authorized parking lot codes under the account; set (report) real-time parking spaces of a parking lot (write operation).
Intent routing:
- Involving "orders/bills/payment/monthly passes" → use
openydt trade(see [[openydt-billing]]). - Involving "vehicles on site/entry and exit/locking/release" → use
openydt parking(see [[openydt-record]]). - Involving "black/white lists, visitors" → use
openydt blacklist/openydt redlist/openydt visitor(see [[openydt-list]]). - Involving "electronic coupon issuance/redemption" → use
openydt coupon(see [[openydt-coupon]]). - Involving "device gate open/close/snapshot/screen display delivery" → use
openydt device(see [[openydt-device]]). - Involving "monthly passes/visitors/blacklist monthly cards" → use
openydt ticket(see [[openydt-monthticket]]). - "Attributes of the parking lot itself, parking spaces, fee query at the parking lot dimension" → stay in this domain
openydt park。
This domain isquery-oriented, with no strong dependency chain: most query commands only require parkCode(parking lot number), and can be called independently. Only get-park-ydt-other-car-type-charge-info requires first calling the fee query command to obtain the result object and then filling it back (see business flow).
Available commands
<use> is the command's actual kebab name, called in the form openydt park <use>. All commands support --body '<json>' to directly pass the complete request body; the listed fields also provide same-named flags (flags will merge and override --body)。
| Chinese name | Command | Read/Write | Key parameters |
|---|---|---|---|
| Get all parking lot information of the authorized vendor | openydt park get-park-list |
Read | (none) |
| Get all authorized parking lot codes under the account | openydt park get-auth-park-codes |
Read | (none) |
| Get all parking lot information | openydt park get-all-park-info |
Read | --park-code、--update-time-from、--update-time-to(all optional) |
| Get basic information of a single parking lot | openydt park get-park-info |
Read | --park-code(optional) |
| Get parking lot system information (VEMS/cloud parking lot) | openydt park get-park-system-info |
Read | --park-code(optional) |
| Get parking lot area information | openydt park get-park-area-info |
Read | --park-code* |
| Get cloud parking lot channel information | openydt park get-channel-info |
Read | --park-code* |
| Get cloud parking lot device information | openydt park get-cloud-park-device-info |
Read | --park-code* |
| Get vacant parking space information for a single parking lot | openydt park get-ept |
Read | --park-code* |
| Get vacant parking space information for all parking lots in an area | openydt park get-area-ept |
Read | --longitude、--latitude、--radius* |
| Get real-time parking space information for a single parking lot | openydt park get-park-remain-carport |
Read | --park-code*、--area-code、--area-id |
| Get remaining parking spaces and free duration for a parking lot | openydt park get-park-remain-carport-and-free-time |
Read | parkCodes*(parking lot code array, use --body) |
| Get charging information by parking lot code (fee query) | openydt park get-park-ydt-charge |
Read | --park-code*、--start-date-time |
| Other vehicle type charging calculation | openydt park get-park-ydt-other-car-type-charge-info |
Read | --park-code、--standard-seq、--car-type、--start-time、parkYdtChargeVo*(use --body) |
| Get vehicle free parking information | openydt park get-car-free-parking-info |
Read | --park-code、--parking-code、--car-code、--vip-type、--is-support-special-charge-rule、--is-support-trigger-event |
| Get vehicle display and voice | openydt park get-display-voice-by-car-code |
Read | --park-code、--car-code、--vip-type、channelCodeList(use --body)、--feature-pass-time、--whether-charge |
| Get vehicle coupon information list | openydt park get-car-coupon-record |
Read | --page-num、--page-size、carPlateList*(license plate list, use --body) |
| Set real-time parking space information for parking lot | openydt park set-park-remain-carport |
Write (requires --yes) |
--park-code、remainCarportList(area parking space array, use --body) |
Note: marked
*is required.carPlateList/channelCodeList/parkCodes/parkYdtChargeVo/remainCarportListArray/object type fields such as these have no independent flag and must be passed via--bodyJSON. Applicable scenarios: commands marked "cloud parking lot" (area, channel, cloud parking lot device, fee query, charging calculation, set parking space) are only valid for cloud parking lots; the rest are common to both VEMS traditional parking lots and cloud parking lots.
Callable interfaces not listed in this table but belonging to the park domain (
getParkEquipmentInfo/getCarOwnerInfo/getMonthTicketAppointmentPark), useopenydt api <cmd> --body '{...}'to call; see [[openydt-api-explorer]] for details.
Business process
Fee query → other vehicle type charging calculation (the only chain that requires backfilling the response from the previous step)
- First query the fee:
openydt park get-park-ydt-charge --park-code <parkCode>, obtain the fee query information object from the response (i.e.parkYdtChargeVo, containingchargeTypeSeq/parkSysType/parkYdtChargeStandardVoListetc., where each charging standard has a charging rule IDstandardSeqand vehicle typecarType)。 - Then calculate: take the entire fee query return result from the previous step as the
parkYdtChargeVofield, and specify thestandardSeq(charging standard ID),carType(the vehicle type of the charging rule, i.e. "special vehicle type ID"),startTime(charging start time), and call:openydt park get-park-ydt-other-car-type-charge-info --body '{...}'- Emphasis:
standardSeq、carType、parkYdtChargeVomust be taken from the response field of the previous stepget-park-ydt-charge, and must not be fabricated.
- Emphasis:
get-park-ydt-charge returns the parking lot'scharging groups parkYdtChargeStandardVoList(one vehicle type can be associated with multiple standards), not the original text of the charging rules. In each standard, standardSeq = charging rule ID(which is what the calculation backfills),chargeMap is thefee preview estimate(value.fee by duration tier (1/2/3/4/8 hours) get-park-feein yuan, calculated at the current moment). To accurately calculate the fee for a specific vehicle in a specific period, use the trade domain real-time fee query ([[openydt-billing]]'s chargeMap ), and do not treat
Complete field interpretation and "plain language" presentation examples are in references/openydt-park-charge.md
All other commands are independent queries: after obtaining the parkCode(you can first use get-park-list / get-auth-park-codes to get the authorized parking lot code), you can directly call the corresponding query.
Example
- List all authorized parking lots under the account (no parameters):
openydt park get-park-list
- Query the real-time remaining parking spaces of a certain parking lot (parkCode is a documented test value, test only):
openydt park get-park-remain-carport --park-code 1ZS7H5PQH9
- Query all available parking spaces of parking lots in the area by longitude and latitude + radius (example coordinates, replace with actual location):
openydt park get-area-ept --longitude 113.158978 --latitude 23.046084 --radius 200
- Write operation example—set the real-time parking spaces of a parking lot (first
--dry-runpreview, and after confirming it is correct, then--yesactually send; parkCode is a documented test value, test only):
# 第一步:预览签名请求(不实际发送)
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}
]
}'