This repository has been archived by the owner on Feb 26, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
schema_seebis.json
126 lines (126 loc) · 3.72 KB
/
schema_seebis.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
{
"id": "http://seestadt.city/seebis/schema.json#",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Seestadt Business Information Schema",
"definitions": {
"openingHoursArray": {
"type": "array",
"items": {
"type": "string",
"uniqueItems": true
}
}
},
"type": "object",
"patternProperties": {
"^[a-z][_\\w]{2,29}$": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2
},
"beschreibung": {
"type": "string",
"minLength": 5,
"maxLength": 240
},
"label": {
"type": "string",
"minLength": 3,
"maxLength": 20
},
"shortlabel": {
"type": "string",
"minLength": 3,
"maxLength": 10
},
"tags": {
"type": "array",
"minLength": 1,
"maxLength": 20,
"items": {
"type": "string"
}
},
"gbTags": {
"type": "array",
"minLength": 1,
"items": {
"type": "string"
}
},
"tel": {
"type": "string",
"pattern": "^\\+\\d\\d\\ [\\d\\ ]+\\d$"
},
"email": {
"type": "string",
"pattern": "^.{1,255}@.{1,255}$"
},
"web": {
"type": "string",
"pattern": "^(https?)://[^\\s/$.?#].[^\\s]*$"
},
"facebook": {
"type": "string",
"pattern": "^[^\\?,;\\/\\ ]+$"
},
"twitter": {
"type": "string",
"pattern": "^[a-zA-Z0-9_]{1,15}$"
},
"instagram": {
"type": "string",
"pattern": "^[a-zA-Z0-9._]+$"
},
"adresse": {
"type": "string",
"minLength": 5
},
"bauplatz": {
"type": "string",
"pattern": "^[A-Z]\\d{1,2}[A-Z]?$"
},
"latlng": {
"type": "array",
"minLength": 2,
"maxLength": 2,
"items": {
"type": "number"
}
},
"uid": {
"type": "string",
"pattern": "^((AT)?U[0-9]{8}|(BE)?0?[0-9]{9}|(BG)?[0-9]{9,10}|(CY)[0-9]{8}[A-Z]|(CZ)?[0-9]{8,10}|(DE)?[0-9]{9}|(DK)?[0-9]{8}|(EE)?[0-9]{9}|(EL|GR)?[0-9]{9}|(ES)?[0-9A-Z][0-9]{7}[0-9A-Z]|(FI)?[0-9]{8}|(FR)?[0-9A-Z]{2}[0-9]{9}|(GB)?([0-9]{9}([0-9]{3})?|[A-Z]{2}[0-9]{3})|(HU)?[0-9]{8}|(IE)?[0-9][0-9A-Z][0-9]{5}[A-Z]|(IT)?[0-9]{11}|(LT)?([0-9]{9}|[0-9]{12})|(LU)?[0-9]{8}|(LV)?[0-9]{11}|(MT)?[0-9]{8}|(NL)?[0-9]{9}B[0-9]{2}|(PL)?[0-9]{10}|(PT)?[0-9]{9}|(RO)?[0-9]{2,10}|(SE)?[0-9]{12}|(SI)?[0-9]{8}|(SK)?[0-9]{10})$"
},
"zvr": {
"type": "string",
"pattern": "^[0-9]{9,10}$"
},
"oeffnungszeiten": {
"type": "object",
"properties": {
"bemerkung": {
"type": "string",
"minLength": 3
},
"mo": { "$ref": "#/definitions/openingHoursArray" },
"di": { "$ref": "#/definitions/openingHoursArray" },
"mi": { "$ref": "#/definitions/openingHoursArray" },
"do": { "$ref": "#/definitions/openingHoursArray" },
"fr": { "$ref": "#/definitions/openingHoursArray" },
"sa": { "$ref": "#/definitions/openingHoursArray" },
"so": { "$ref": "#/definitions/openingHoursArray" },
"ft": { "$ref": "#/definitions/openingHoursArray" }
},
"required": ["mo", "di", "mi", "do", "fr", "sa", "so", "ft"],
"additionalProperties": false
}
},
"required": ["name"],
"additionalProperties": false
}
},
"additionalProperties": false
}