Add Knowledgebase Stations schema
All checks were successful
Generate and Release Protos / release (push) Successful in 43s

This commit is contained in:
2026-03-28 22:20:53 +00:00
parent 6cf6ea8aef
commit a869935241

View File

@@ -0,0 +1,125 @@
{
"$id": "https://schema.owlboard.info/data-ingress/knowledgebase/stations.schema.json",
"$schema": "https://json-schema.org/draft-07/schema#",
"title": "KnowledgebaseStations",
"type": "object",
"properties": {
"service_name": {
"type": "string",
"description": "Name of the service submitting the update"
},
"service_id": {
"type": "string",
"description": "ID of the service sending the message - usually a hostname"
},
"data_type": {
"type": "string",
"const": "raw",
"description": "The type of data contained in this message object"
},
"sent_timestamp": {
"type": "integer",
"description": "Unix timestamp representing the time the message was sent"
},
"data_kind": {
"type": "string",
"const": "kb-stations"
},
"payload": {
"type": "array",
"additionalItems": false,
"items": {
"station": {
"type": "object",
"required": ["c", "l", "o"],
"properties": {
"c": {
"type": "string",
"name": "CRS Code",
"description": "Station CRS (Primary Key)"
},
"n": {
"type": "string",
"name": "NLC Code",
"description": "Station NLC Code"
},
"mc": {
"type": "number",
"name": "Minimum Connection Time",
"description": "The minimum connection time at this station"
},
"a": {
"type": "object",
"name": "Address",
"description": "The address of the station",
"properties": {
"l1": {
"type": "string",
"name": "Line 1"
},
"l2": {
"type": "string",
"name": "Line 2"
},
"l3": {
"type": "string",
"name": "Line 3"
},
"l4": {
"type": "string",
"name": "Line 4"
},
"l5": {
"type": "string",
"name": "Line 5"
},
"pc": {
"type": "string",
"name": "Postcode"
}
}
},
"l": {
"type": "object",
"name": "Location",
"description": "LatLon of the station",
"properties": {
"lt": {
"type": "number",
"name": "Latitude",
"description": "Stations Latitude"
},
"ln": {
"type": "number",
"name": "Longitude",
"description": "Stations Longitude"
}
}
},
"o": {
"type": "string",
"name": "Operator",
"description": "The two character code denoting the stations operator"
},
"m": {
"type": "string",
"name": "Map URL"
},
"r": {
"name": "Request",
"type": "boolean",
"description": "Denotes whether station is Request Stop"
},
"d": {
"name": "Defibrillator",
"type": "boolean",
"description": "Denotes whether defibrillator is available"
}
}
}
}
}
},
"required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"],
"additionalProperties": false
}