NODEDC_PLATFORM/services/external-data-plane/definitions/map.zones.current.v1.json

51 lines
2.2 KiB
JSON

{
"id": "map.zones.current.v1",
"version": "1.1.0",
"ontologyRevision": "ontology.map.zone.v1",
"deliveryMode": "snapshot+patch",
"semanticTypes": ["map.zone"],
"fields": [
"area_square_meters",
"applies_to_couriers",
"applies_to_kicksharing",
"dataset_authority",
"dataset_id",
"description",
"display_name",
"geometry",
"geometry_kind",
"max_speed_kph",
"perimeter_meters",
"schedule_timezone",
"source_adapter",
"source_created_at",
"source_kind",
"source_revision",
"source_updated_at",
"style_color",
"weekly_speed_schedule"
],
"fieldContracts": {
"area_square_meters": { "type": "number", "required": false, "minimum": 0 },
"applies_to_couriers": { "type": "boolean", "required": false },
"applies_to_kicksharing": { "type": "boolean", "required": false },
"dataset_authority": { "type": "string", "required": true, "enum": ["moscow-department-of-transport"] },
"dataset_id": { "type": "string", "required": true, "enum": ["pmd-slow-zones"] },
"description": { "type": "string", "required": false },
"display_name": { "type": "string", "required": true },
"geometry": { "type": "geometry", "required": true },
"geometry_kind": { "type": "string", "required": true, "enum": ["circle", "corridor", "polygon"] },
"max_speed_kph": { "type": "number", "required": false, "minimum": 0 },
"perimeter_meters": { "type": "number", "required": false, "minimum": 0 },
"schedule_timezone": { "type": "string", "required": false, "enum": ["Europe/Moscow"] },
"source_adapter": { "type": "string", "required": true, "enum": ["depttrans-mmap-snapshot-v1", "depttrans-api-snapshot-v1"] },
"source_created_at": { "type": "string", "required": false },
"source_kind": { "type": "string", "required": true, "enum": ["versioned_snapshot"] },
"source_revision": { "type": "string", "required": true },
"source_updated_at": { "type": "string", "required": false },
"style_color": { "type": "string", "required": false },
"weekly_speed_schedule": { "type": "string_array", "required": false }
},
"history": { "mode": "none", "retentionDays": 1 }
}