diff --git a/schemas/data-ingress/darwin-reference-data/darwin-stations.json b/schemas/data-ingress/darwin-reference-data/darwin-stations.json new file mode 100644 index 0000000..0ba407d --- /dev/null +++ b/schemas/data-ingress/darwin-reference-data/darwin-stations.json @@ -0,0 +1,50 @@ +{ + "$id": "https://schema.owlboard.info/data-ingress/darwin/ref/stations.schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "DarwinStationsNames", + "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": "ref-darwin-station-names", + "description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data" + }, + "payload": { + "type": "array", + "additionalItems": false, + "items": { + "type": "object", + "required": ["c", "n"], + "properties": { + "c": { + "type": "string", + "description": "CRS of the location" + }, + "n": { + "type": "string", + "description": "The display name of this location" + } + } + } + } + }, + "required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"], + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/data-ingress/darwin-reference-data/darwin-tiplocs.json b/schemas/data-ingress/darwin-reference-data/darwin-tiplocs.json new file mode 100644 index 0000000..8300154 --- /dev/null +++ b/schemas/data-ingress/darwin-reference-data/darwin-tiplocs.json @@ -0,0 +1,58 @@ +{ + "$id": "https://schema.owlboard.info/data-ingress/darwin/ref/tiplocs.schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "DarwinTiplocData", + "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": "ref-darwin-tiplocs", + "description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data" + }, + "payload": { + "type": "array", + "additionalItems": false, + "items": { + "type": "object", + "required": ["t", "n"], + "properties": { + "c": { + "type": "string", + "description": "CRS of the location" + }, + "t": { + "type": "array", + "description": "TIPLOC assigned to the location" + }, + "n": { + "type": "string", + "description": "The display name of this location" + }, + "l": { + "type": "string", + "description": "The NLC of this location" + } + } + } + } + }, + "required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"], + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/data-ingress/darwin-reference-data/darwin-via-text.json b/schemas/data-ingress/darwin-reference-data/darwin-via-text.json new file mode 100644 index 0000000..6737c02 --- /dev/null +++ b/schemas/data-ingress/darwin-reference-data/darwin-via-text.json @@ -0,0 +1,67 @@ +{ + "$id": "https://schema.owlboard.info/data-ingress/darwin/ref/via-text.schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "DarwinViaText", + "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": "ref-darwin-via-text", + "description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data" + }, + "payload": { + "type": "array", + "additionalItems": false, + "items": { + "type": "object", + "required": ["a", "d", "l1", "v"], + "properties": { + "a": { + "name": "at", + "type": "string", + "description": "The CRS defining where the text should be displayed" + }, + "d": { + "name": "destination", + "type": "string", + "description": "The text should apply to trains to this destination" + }, + "l1": { + "name": "location-one", + "type": "string", + "description": "Message triggered if loc1 & loc2 (if present) are listed as stops" + }, + "l2": { + "name": "location-two", + "type": "string", + "description": "Message triggered if loc1 & loc2 (if present) are listed as stops" + }, + "v": { + "name": "viaText", + "description": "The text that should be displayed", + "type": "string" + } + } + } + } + }, + "required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"], + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/data-ingress/darwin-reference-data/loading-category.json b/schemas/data-ingress/darwin-reference-data/loading-category.json new file mode 100644 index 0000000..c661358 --- /dev/null +++ b/schemas/data-ingress/darwin-reference-data/loading-category.json @@ -0,0 +1,77 @@ +{ + "$id": "https://schema.owlboard.info/data-ingress/darwin/ref/loading-category.schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "DarwinLoadingCatData", + "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": "ref-darwin-loading-category", + "description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data" + }, + "payload": { + "type": "array", + "additionalItems": false, + "items": { + "type": "object", + "required": ["c", "n"], + "properties": { + "c": { + "name": "code", + "type": "string", + "description": "The 'code' for the 'category'" + }, + "t": { + "name": "typicalDescription", + "type": "string", + "description": "The 'typicalDescription' of the category" + }, + "e": { + "name": "expectedDescription", + "type": "string", + "description": "The 'expectedDescription' of the category" + }, + "d": { + "name": "definition", + "description": "The 'definition' of the category", + "type": "string" + }, + "n": { + "name": "name", + "description": "The 'name' of the category", + "type": "string" + }, + "i": { + "name": "image", + "description": "The 'image' for the category", + "type": "string" + }, + "o": { + "name": "TOC", + "description": "The 'toc' for the category", + "type": "string" + } + } + } + } + }, + "required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"], + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/data-ingress/darwin-reference-data/reason-code.json b/schemas/data-ingress/darwin-reference-data/reason-code.json new file mode 100644 index 0000000..242b308 --- /dev/null +++ b/schemas/data-ingress/darwin-reference-data/reason-code.json @@ -0,0 +1,54 @@ +{ + "$id": "https://schema.owlboard.info/data-ingress/darwin/ref/reasons.schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "DarwinReasonCodeData", + "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": "ref-darwin-reason-code", + "description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data" + }, + "payload": { + "type": "array", + "additionalItems": false, + "items": { + "type": "object", + "required": ["c", "lR", "cR"], + "properties": { + "c": { + "type": "integer", + "description": "The 'code' that the late/cancel reason maps to" + }, + "lR": { + "type": "string", + "description": "The lateReason string for the item" + }, + "cR": { + "type": "string", + "description": "The cancelReason string for the item" + } + } + } + } + }, + "required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"], + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/data-ingress/darwin-reference-data/toc.json b/schemas/data-ingress/darwin-reference-data/toc.json new file mode 100644 index 0000000..dc34323 --- /dev/null +++ b/schemas/data-ingress/darwin-reference-data/toc.json @@ -0,0 +1,50 @@ +{ + "$id": "https://schema.owlboard.info/data-ingress/darwin/ref/tocs.schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "DarwinTocData", + "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": "ref-darwin-toc", + "description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data" + }, + "payload": { + "type": "array", + "additionalItems": false, + "items": { + "type": "object", + "required": ["c", "n"], + "properties": { + "c": { + "type": "string", + "description": "The ATOC 'code' for the TOC" + }, + "n": { + "type": "string", + "description": "The name of the TOC" + } + } + } + } + }, + "required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"], + "additionalProperties": false +} \ No newline at end of file