Data
Parking system Item
Parking system Item represents parking garage or parking lot typically with multiple entries/exits operated behind a barriers. The parking system Item must have class set to ParkingSystem.
Item metadata
All parking-specific data is defined inside Item meta object. It stores parking type, payment methods, parking accessibility and device list.
{
"type": "Garage",
"configurable": true,
"controllable": true,
"provider": {
"name": "Operator Ltd.",
"contact": "Phone 577 100 589"
},
"capacity": {
"total": 120,
"grouped": [{
"permit": "TaxiPermit",
"total": 10
}]
},
"payments": [
"Cash",
"Card",
"Sms"
],
"accessibility": {
"wheelchair": true,
"lpg": false,
"maxHeight": "200",
"maxLength": "400",
"maxWidth": "250"
},
"openingHours": [{
"dayOfWeek": ["Monday", "Tuesday"],
"opens": "09:00",
"duration": 480
}],
"images": {
"detailUri": "https://dotsoft.local/contents/donwload/507f1f77bcf86cd799439011"
},
"devices": [{
"name": "et1",
"type": "EntryTerminal",
"level": 0,
"description": "Entry terminal at Bay Street",
"position": {
"type": "Point",
"coordinates": [
17.991249561309814, 49.338986542414744
]
}
}],
"floors": [{
"level": 0,
"name": "Ground parking",
"polygon": {
"type": "Polygon",
"coordinates": [
[
[17.991206645965576, 49.33923820771258],
[17.99083113670349, 49.33912635662798],
[17.99161434173584, 49.33904246814772],
[17.991206645965576, 49.33923820771258]
]
]
}
}]
}
Where:
typeParking type (GarageorLot)providerProvider informationconfigurableThe parking system can be configuredcontrollableThe parking system can be controlledcapacityParking capacitycapacity.overall.totalNumber of total placescapacity.groupedCapacity of parking places grouped by parking permitscapacity.grouped.permitParking permit (BlueZone,DisabledPermit,CarpoolingPermit,EmployeePermit,GovernmentPermit,ResidentPermitorTaxiPermit)capacity.grouped.totalNumber of total placespaymentsSet of payment method flags (Cash,Card,Credit,SmsorOther)accessibilityInformation about parking accessibilityaccessibility.wheelchairTrue if parking is open for disabled driversaccessiblity.lpgTrue if vehicles with LPG allowedaccessiblity.maxHeightMaximum vehicle height allowed (in cm)accessiblity.maxLengthMaximum vehicle length allowed (in cm)accessiblity.maxWidthMaximum vehicle width allowed (in cm)openingHoursDefinition of opening hoursopeningHours.dayOfWeekList of days (Monday,Tuesday,Wednesday,Thursday,Friday,SaturdayorSunday)openingHours.opensOpening time (in formathh:mm)openingHours.durationOpening time duration (in minutes)imagesParking system imagesimages.detailUriURI of detail imagedevicesList of parking system components, eg. terminals, barriers or cashiersdevices.nameDevice name used in malfunction reporting and control commandsdevices.typeType of device (Barrier,EntryTerminal,ExitTerminal,PaymentTerminalorCamera)devices.levelDevice floor level (0 for ground)devices.descriptionDevice descriptiondevices.positionDevice position on map (in GeoJSONPointgeometry object)floorsList of floors (in building)floors.levelFloor level (0 for ground)floors.nameFloor namefloors.polygonFloor area on map (in GeoJSONPolygongeometry object)
Occupancy data
Occupancy data describes parking occupancy state. This data is updated periodically based on processing of ParkingSystemOccupancyChangedEvent event. The occupancy data is stored in Item under the occupancy data key.
{
"overall": {
"total": 120,
"free": 78
},
"grouped": [{
"permit": "TaxiPermit",
"total": 5,
"free": 1
}]
}
Where:
overallOverall occupancy of parking lotoverall.totalNumber of total placesoverall.freeNumber of free placesgroupedOccupancy of parking places grouped by parking permitsgrouped.permitParking permit (BlueZone,DisabledPermit,CarpoolingPermit,EmployeePermit,GovernmentPermit,ResidentPermitorTaxiPermit)grouped.totalNumber of total placesgrouped.freeNumber of free places
Parking zone Item
Parking zone Item represents parking zone or parking street restricted by specific geographical area. It is typically used as a virtual parking zone where other parking Items like occupancy sensors or payment machines can be located. The Parking zone Item must have class set to ParkingZone.
Item metadata
All zone-specific data is defined inside Item meta object. It describes zone type, name, level and provider information.
{
"tariffZone": "Zone A",
"tariffInfo": "Each hour *10 CZK*",
"openingHours": [{
"dayOfWeek": ["Monday", "Tuesday"],
"opens": "09:00",
"duration": 480
}]
}
Where:
tariffZoneTariff zone nametarrifInfoTariff information (in Markdown)openingHoursDefinition of opening hoursopeningHours.dayOfWeekList of days (Monday,Tuesday,Wednesday,Thursday,Friday,SaturdayorSunday)openingHours.opensOpening time (in formathh:mm)openingHours.durationOpening time duration (in minutes)
Occupancy data
Occupancy data describes parking occupancy state. This data is updated periodically based on processing of ParkingZoneOccupancyChangedEvent event. The occupancy data is stored in Item under the occupancy data key.
{
"overall": {
"total": 120,
"free": 78
},
"grouped": [{
"permit": "TaxiPermit",
"total": 5,
"free": 1
}]
}
Where:
overallOverall occupancy of parking lotgrouped.totalNumber of total placesgrouped.freeNumber of free placesgroupedOccupancy of parking places grouped by parking permitsgrouped.permitParking permit (BlueZone,DisabledPermit,CarpoolingPermit,EmployeePermit,GovernmentPermit,ResidentPermitorTaxiPermit)grouped.totalNumber of total placesgrouped.freeNumber of free places
Payment machine Item
Payment machine Item represents payment machine or payment terminal dedicated parking fees collection. The Parking system Item must have class set to PaymentMachine.
Item metadata
All parking-specific data is defined inside Item meta object. It describes parking type, payment methods, parking accessibility and device list.
{
"provider": {
"name": "Operator Ltd.",
"contact": "Phone 577 100 589"
},
"payments": [
"Cash",
"Card",
"Sms"
],
"openingHours": {},
"images": {
"detailUri": "https://dotsoft.local/contents/donwload/507f1f77bcf86cd799439011"
}
}
Where:
providerProvider informationpaymentsSet of payment method flags (Cash,Card,Credit,SmsorOther)openingHoursDefinition of opening hoursopeningHours.dayOfWeekList of days (Monday,Tuesday,Wednesday,Thursday,Friday,SaturdayorSunday)openingHours.opensOpening time (in formathh:mm)openingHours.durationOpening time duration (in minutes)imagesParking terminal imagesimages.detailUriURI of detail image
Occupancy sensor Item
Occupancy sensor Item represents parking occupancy sensor that detects occupancy of one parking place. The Parking system Item must have class set to OccupancySensor.
Item metadata
All sensor-specific data is defined inside Item meta object. It describes level and parking permits.
{
"level": {
"number": 0,
"name": "1PP"
},
"permits": [
"BlueZone",
"DisabledPermit"
],
"overstayLimit": 120
}
Where:
levelLevel informationlevel.numberLevel number (eg. 0 as ground or -1 as underground)level.nameLevel namepermitsList of parking permits (BlueZone,EvPermit,DisabledPermit,CarpoolingPermit,EmployeePermit,GovernmentPermit,ResidentPermitorTaxiPermit)overstayLimitOverstay limit (in minutes)
Occupancy data
Occupancy data describes parking sensor state. This data is updated periodically based on processing of SensorOccupancyChangedEvent event. The occupancy data is stored in Item under the occupancy data key (property).
{
"occupied": true,
"overstay": false
}
Where:
occupiedVehicle presence at sensor (trueif place is occupied)overstayVehicle overstay (trueif vehicle stays on place over limit)
Commands
BarrierControlCommand
Command with type BarrierControlCommand is dedicated to control the barriers of parking system.
Command extras
{
"device": "et1",
"action": "BarrierUp"
}
Where:
deviceDevice name from device list stored in Item metadata. Device type must beEntryTerminal,ExitTerminalorBarrier.actionAction requested to be executed on equipment (BarrierUp,BarrierDownorAllowPassage)
Events
ParkingSystemOccupancyChangedEvent
Event with type ParkingSystemOccupancyChangedEvent shall be registered whenever parking system occupancy has changed.
Event extras
{
"overall": {
"total": 120,
"free": 78
},
"grouped": [{
"permit": "TaxiPermit",
"total": 5,
"free": 1
}]
}
Where:
overallOverall occupancy of parking lotgrouped.totalNumber of total placesgrouped.freeNumber of free placesgroupedOccupancy of parking places grouped by parking permitsgrouped.permitParking permit (BlueZone,DisabledPermit,CarpoolingPermit,EmployeePermit,GovernmentPermit,ResidentPermitorTaxiPermit)grouped.totalNumber of total placesgrouped.freeNumber of free places
ParkingVehicleEnteredEvent
Event with type ParkingVehicleEnteredEvent shall be registered after new vehicle enters the parking.
Event extras
{
"sessionId": "456123",
"device": "et1",
"lpn": "2Z96447",
"image": "aHR0cHM6Ly93d3cubW90b2JpdC5jb20==="
}
Where:
sessionIdVehicle entrance identification (if available)deviceDevice name from device list stored in Item metadatalpnLicense plate numberimagePicture (in Base64 format)
ParkingVehicleLeftEvent
Event with type ParkingVehicleLeftEvent shall be registered after vehicle leaves the parking.
Event extras
{
"sessionId": "456123",
"device": "xt1",
"lpn": "2Z96447",
"image": "aHR0cHM6Ly93d3cubW90b2JpdC5jb20==="
}
Where:
sessionIdVehicle entrance identification (if available)deviceDevice name from device list stored in Item metadatalpnLicense plate numberimagePicture (in Base64 format)
ParkingTransactionEvent
Event with type ParkingTransactionEvent shall be registered each time parking system issue a new transaction.
Event extras
{
"device": "pt1",
"transactionType": "ParkingFeePayment",
"paymentMethod": "Card",
"amount": 450,
"currency": "CZK"
}
Where:
deviceDevice name from device list stored in Item metadata. The type of device must bePaymentTerminal.transactionTypeTransaction type (ParkingFeePayment,CreditTopUporTravelTicket)paymentMethodPayment method (Cash,Card,Credit,SmsorOther)amountAmount including VATcurrencyCurrency in the ISO 4217 format
ParkingZoneOccupancyChangedEvent
Event with type ParkingZoneOccupancyChangedEvent shall be registered whenever parking zone occupancy has changed.
Event extras
{
"overall": {
"total": 120,
"free": 78
},
"grouped": [{
"permit": "TaxiPermit",
"total": 5,
"free": 1
}]
}
Where:
overallOverall occupancy of parking lotgrouped.totalNumber of total placesgrouped.freeNumber of free placesgroupedOccupancy of parking places grouped by parking permitsgrouped.permitParking permit (BlueZone,DisabledPermit,CarpoolingPermit,EmployeePermit,GovernmentPermit,ResidentPermitorTaxiPermit)grouped.totalNumber of total placesgrouped.freeNumber of free places
SensorOccupancyChangedEvent
Event with type SensorOccupancyChangedEvent shall be registered whenever parking sensor occupancy has changed.
Event extras
{
"occupied": true
}
Where:
occupiedVehicle presence at sensor (trueif place is occupied)
SensorOverstayDetectedEvent
Event with type SensorOverstayDetectedEvent shall be registered whenever parking sensor signalizes an overstay.
Event extras
{
"limit": 120
}
Where:
limitOverstay limit (in minutes)
Types of malfunction events
Malfunction types in event extras
AlarmDetectedBatteryEmptyPowerLostOutOfOrderBoxFullBoxEmptyPaperOutTransactionIssueCashManipulationIssue