@gruncellka/porto-data 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +85 -1
  2. package/LICENSE +199 -5
  3. package/README.md +52 -39
  4. package/index.d.ts +35 -18
  5. package/index.js +2 -1
  6. package/package.json +23 -9
  7. package/porto_data/formats/envelopes.json +120 -0
  8. package/porto_data/formats/layouts.json +288 -0
  9. package/porto_data/mappings.json +65 -10
  10. package/porto_data/metadata.json +662 -125
  11. package/porto_data/policy/jurisdictions.json +839 -0
  12. package/porto_data/policy/markets.json +75 -0
  13. package/porto_data/policy/restrictions.json +668 -0
  14. package/porto_data/providers/deutschepost/features.json +42 -0
  15. package/porto_data/providers/deutschepost/graph.json +203 -0
  16. package/porto_data/providers/deutschepost/limits.json +17 -0
  17. package/porto_data/providers/deutschepost/marks.json +71 -0
  18. package/porto_data/providers/deutschepost/prices/products.json +239 -0
  19. package/porto_data/providers/deutschepost/prices/services.json +51 -0
  20. package/porto_data/providers/deutschepost/products.json +197 -0
  21. package/porto_data/providers/deutschepost/services.json +88 -0
  22. package/porto_data/providers/deutschepost/weights.json +46 -0
  23. package/porto_data/providers/deutschepost/zones.json +231 -0
  24. package/porto_data/providers/laposte/features.json +42 -0
  25. package/porto_data/providers/laposte/graph.json +234 -0
  26. package/porto_data/providers/laposte/limits.json +17 -0
  27. package/porto_data/providers/laposte/marks.json +39 -0
  28. package/porto_data/providers/laposte/prices/products.json +947 -0
  29. package/porto_data/providers/laposte/prices/services.json +41 -0
  30. package/porto_data/providers/laposte/products.json +276 -0
  31. package/porto_data/providers/laposte/services.json +63 -0
  32. package/porto_data/providers/laposte/weights.json +38 -0
  33. package/porto_data/providers/laposte/zones.json +230 -0
  34. package/porto_data/providers/swisspost/features.json +21 -0
  35. package/porto_data/providers/swisspost/graph.json +212 -0
  36. package/porto_data/providers/swisspost/limits.json +17 -0
  37. package/porto_data/providers/swisspost/marks.json +41 -0
  38. package/porto_data/providers/swisspost/prices/products.json +347 -0
  39. package/porto_data/providers/swisspost/prices/services.json +31 -0
  40. package/porto_data/providers/swisspost/products.json +193 -0
  41. package/porto_data/providers/swisspost/rules.json +25 -0
  42. package/porto_data/providers/swisspost/services.json +40 -0
  43. package/porto_data/providers/swisspost/weights.json +38 -0
  44. package/porto_data/providers/swisspost/zones.json +223 -0
  45. package/porto_data/providers/ukrposhta/features.json +28 -0
  46. package/porto_data/providers/ukrposhta/graph.json +148 -0
  47. package/porto_data/providers/ukrposhta/limits.json +17 -0
  48. package/porto_data/providers/ukrposhta/marks.json +25 -0
  49. package/porto_data/providers/ukrposhta/prices/products.json +123 -0
  50. package/porto_data/providers/ukrposhta/prices/services.json +42 -0
  51. package/porto_data/providers/ukrposhta/products.json +74 -0
  52. package/porto_data/providers/ukrposhta/services.json +40 -0
  53. package/porto_data/providers/ukrposhta/weights.json +26 -0
  54. package/porto_data/providers/ukrposhta/zones.json +226 -0
  55. package/porto_data/providers.json +37 -0
  56. package/porto_data/schemas/envelopes.schema.json +120 -0
  57. package/porto_data/schemas/features.schema.json +66 -55
  58. package/porto_data/schemas/graph.schema.json +189 -0
  59. package/porto_data/schemas/jurisdictions.schema.json +116 -0
  60. package/porto_data/schemas/layouts.schema.json +156 -0
  61. package/porto_data/schemas/limits.schema.json +253 -0
  62. package/porto_data/schemas/mappings.schema.json +73 -0
  63. package/porto_data/schemas/markets.schema.json +186 -0
  64. package/porto_data/schemas/marks.schema.json +127 -0
  65. package/porto_data/schemas/metadata.schema.json +183 -0
  66. package/porto_data/schemas/porto_ids.schema.json +45 -0
  67. package/porto_data/schemas/product_prices.schema.json +126 -0
  68. package/porto_data/schemas/products.schema.json +338 -110
  69. package/porto_data/schemas/providers.schema.json +71 -0
  70. package/porto_data/schemas/restrictions.schema.json +175 -355
  71. package/porto_data/schemas/rules.schema.json +104 -0
  72. package/porto_data/schemas/service_prices.schema.json +116 -0
  73. package/porto_data/schemas/services.schema.json +113 -70
  74. package/porto_data/schemas/weights.schema.json +70 -0
  75. package/porto_data/schemas/zones.schema.json +78 -72
  76. package/porto_data/data/data_links.json +0 -148
  77. package/porto_data/data/dimensions.json +0 -158
  78. package/porto_data/data/features.json +0 -66
  79. package/porto_data/data/prices.json +0 -242
  80. package/porto_data/data/products.json +0 -84
  81. package/porto_data/data/restrictions.json +0 -795
  82. package/porto_data/data/services.json +0 -61
  83. package/porto_data/data/weight_tiers.json +0 -54
  84. package/porto_data/data/zones.json +0 -230
  85. package/porto_data/schemas/data_links.schema.json +0 -223
  86. package/porto_data/schemas/dimensions.schema.json +0 -215
  87. package/porto_data/schemas/prices.schema.json +0 -180
  88. package/porto_data/schemas/weight_tiers.schema.json +0 -70
@@ -0,0 +1,120 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/gruncellka/porto-data/refs/heads/main/porto_data/schemas/envelopes.schema.json",
3
+ "file_type": "envelopes",
4
+ "unit": {
5
+ "dimension": "mm"
6
+ },
7
+ "envelopes": [
8
+ {
9
+ "id": "DL",
10
+ "label": "DL envelope",
11
+ "width": 220,
12
+ "height": 110,
13
+ "standard": "ISO269",
14
+ "sheets": [
15
+ {
16
+ "sheet": "A4",
17
+ "fold": "trifold",
18
+ "description": "A4 trifold: two parallel creases, three panels"
19
+ }
20
+ ],
21
+ "notes": "ISO DL; long pocket for A4 folded in thirds"
22
+ },
23
+ {
24
+ "id": "C6",
25
+ "label": "C6 envelope",
26
+ "width": 162,
27
+ "height": 114,
28
+ "standard": "ISO269",
29
+ "sheets": [
30
+ {
31
+ "sheet": "A4",
32
+ "fold": "quarter",
33
+ "description": "A4 with two folds to fit C6"
34
+ },
35
+ {
36
+ "sheet": "A6",
37
+ "fold": "flat",
38
+ "description": "Unfolded A6 or postcard stock"
39
+ },
40
+ {
41
+ "sheet": "A5",
42
+ "fold": "half",
43
+ "description": "A5 folded once to fit C6"
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "id": "C5",
49
+ "label": "C5 envelope",
50
+ "width": 229,
51
+ "height": 162,
52
+ "standard": "ISO269",
53
+ "sheets": [
54
+ {
55
+ "sheet": "A4",
56
+ "fold": "half",
57
+ "description": "A4 folded once to fit C5"
58
+ },
59
+ {
60
+ "sheet": "A5",
61
+ "fold": "flat",
62
+ "description": "Unfolded A5 sheet"
63
+ }
64
+ ]
65
+ },
66
+ {
67
+ "id": "C4",
68
+ "label": "C4 envelope",
69
+ "width": 324,
70
+ "height": 229,
71
+ "standard": "ISO269",
72
+ "sheets": [
73
+ {
74
+ "sheet": "A4",
75
+ "fold": "flat",
76
+ "description": "Unfolded A4"
77
+ },
78
+ {
79
+ "sheet": "A5",
80
+ "fold": "flat",
81
+ "description": "Unfolded A5 sheet"
82
+ },
83
+ {
84
+ "sheet": "B5",
85
+ "fold": "flat",
86
+ "description": "Unfolded B5 sheet"
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "id": "B4",
92
+ "label": "B4 envelope",
93
+ "width": 353,
94
+ "height": 250,
95
+ "standard": "ISO269",
96
+ "sheets": [
97
+ {
98
+ "sheet": "B4",
99
+ "fold": "flat",
100
+ "description": "Unfolded B4 sheet"
101
+ },
102
+ {
103
+ "sheet": "A4",
104
+ "fold": "flat",
105
+ "description": "One or more unfolded A4 sheets; carrier max thickness applies"
106
+ },
107
+ {
108
+ "sheet": "A5",
109
+ "fold": "flat",
110
+ "description": "Unfolded A5 sheet"
111
+ },
112
+ {
113
+ "sheet": "B5",
114
+ "fold": "flat",
115
+ "description": "Unfolded B5 sheet"
116
+ }
117
+ ]
118
+ }
119
+ ]
120
+ }
@@ -0,0 +1,288 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/gruncellka/porto-data/refs/heads/main/porto_data/schemas/layouts.schema.json",
3
+ "file_type": "layouts",
4
+ "unit": {
5
+ "dimension": "mm"
6
+ },
7
+ "jurisdictions": {
8
+ "DE": {
9
+ "envelopes": {
10
+ "DL": {
11
+ "standard": "DIN678",
12
+ "orientation": "landscape",
13
+ "layout": {
14
+ "window": {
15
+ "supported": true,
16
+ "area": {
17
+ "x": 20,
18
+ "y": 50,
19
+ "width": 90,
20
+ "height": 45
21
+ }
22
+ },
23
+ "post_mark": {
24
+ "x": 160,
25
+ "y": 10
26
+ }
27
+ }
28
+ },
29
+ "C6": {
30
+ "standard": "DIN678",
31
+ "orientation": "landscape",
32
+ "layout": {
33
+ "window": {
34
+ "supported": true,
35
+ "area": {
36
+ "x": 20,
37
+ "y": 54,
38
+ "width": 90,
39
+ "height": 45
40
+ }
41
+ },
42
+ "post_mark": {
43
+ "x": 110,
44
+ "y": 10
45
+ }
46
+ }
47
+ },
48
+ "C5": {
49
+ "standard": "DIN678",
50
+ "orientation": "landscape",
51
+ "layout": {
52
+ "window": {
53
+ "supported": true,
54
+ "area": {
55
+ "x": 20,
56
+ "y": 57,
57
+ "width": 90,
58
+ "height": 45
59
+ }
60
+ },
61
+ "post_mark": {
62
+ "x": 180,
63
+ "y": 15
64
+ }
65
+ }
66
+ },
67
+ "C4": {
68
+ "standard": "DIN678",
69
+ "orientation": "landscape",
70
+ "layout": {
71
+ "window": {
72
+ "supported": true,
73
+ "area": {
74
+ "x": 20,
75
+ "y": 55,
76
+ "width": 90,
77
+ "height": 55
78
+ }
79
+ },
80
+ "post_mark": {
81
+ "x": 270,
82
+ "y": 15
83
+ }
84
+ }
85
+ },
86
+ "B4": {
87
+ "standard": "DIN678",
88
+ "orientation": "landscape",
89
+ "layout": {
90
+ "window": {
91
+ "supported": false
92
+ },
93
+ "post_mark": {
94
+ "x": 300,
95
+ "y": 15
96
+ }
97
+ }
98
+ }
99
+ }
100
+ },
101
+ "CH": {
102
+ "envelopes": {
103
+ "DL": {
104
+ "standard": "SN010130",
105
+ "orientation": "landscape",
106
+ "layout": {
107
+ "window": {
108
+ "supported": true,
109
+ "area": {
110
+ "x": 20,
111
+ "y": 50,
112
+ "width": 90,
113
+ "height": 45
114
+ }
115
+ },
116
+ "post_mark": {
117
+ "x": 160,
118
+ "y": 10
119
+ }
120
+ }
121
+ },
122
+ "C6": {
123
+ "standard": "SN010130",
124
+ "orientation": "landscape",
125
+ "layout": {
126
+ "window": {
127
+ "supported": true,
128
+ "area": {
129
+ "x": 20,
130
+ "y": 54,
131
+ "width": 90,
132
+ "height": 45
133
+ }
134
+ },
135
+ "post_mark": {
136
+ "x": 110,
137
+ "y": 10
138
+ }
139
+ }
140
+ },
141
+ "C5": {
142
+ "standard": "SN010130",
143
+ "orientation": "landscape",
144
+ "layout": {
145
+ "window": {
146
+ "supported": true,
147
+ "area": {
148
+ "x": 20,
149
+ "y": 57,
150
+ "width": 90,
151
+ "height": 45
152
+ }
153
+ },
154
+ "post_mark": {
155
+ "x": 180,
156
+ "y": 15
157
+ }
158
+ }
159
+ },
160
+ "C4": {
161
+ "standard": "SN010130",
162
+ "orientation": "landscape",
163
+ "layout": {
164
+ "window": {
165
+ "supported": true,
166
+ "area": {
167
+ "x": 20,
168
+ "y": 55,
169
+ "width": 90,
170
+ "height": 55
171
+ }
172
+ },
173
+ "post_mark": {
174
+ "x": 270,
175
+ "y": 15
176
+ }
177
+ }
178
+ },
179
+ "B4": {
180
+ "standard": "SN010130",
181
+ "orientation": "landscape",
182
+ "layout": {
183
+ "window": {
184
+ "supported": false
185
+ },
186
+ "post_mark": {
187
+ "x": 300,
188
+ "y": 15
189
+ }
190
+ }
191
+ }
192
+ }
193
+ },
194
+ "FR": {
195
+ "envelopes": {
196
+ "DL": {
197
+ "standard": "NFZ10011",
198
+ "orientation": "landscape",
199
+ "layout": {
200
+ "window": {
201
+ "supported": true,
202
+ "area": {
203
+ "x": 20,
204
+ "y": 50,
205
+ "width": 90,
206
+ "height": 45
207
+ }
208
+ },
209
+ "post_mark": {
210
+ "x": 160,
211
+ "y": 10
212
+ }
213
+ }
214
+ },
215
+ "C6": {
216
+ "standard": "NFZ10011",
217
+ "orientation": "landscape",
218
+ "layout": {
219
+ "window": {
220
+ "supported": true,
221
+ "area": {
222
+ "x": 20,
223
+ "y": 54,
224
+ "width": 90,
225
+ "height": 45
226
+ }
227
+ },
228
+ "post_mark": {
229
+ "x": 110,
230
+ "y": 10
231
+ }
232
+ }
233
+ },
234
+ "C5": {
235
+ "standard": "NFZ10011",
236
+ "orientation": "landscape",
237
+ "layout": {
238
+ "window": {
239
+ "supported": true,
240
+ "area": {
241
+ "x": 20,
242
+ "y": 57,
243
+ "width": 90,
244
+ "height": 45
245
+ }
246
+ },
247
+ "post_mark": {
248
+ "x": 180,
249
+ "y": 15
250
+ }
251
+ }
252
+ },
253
+ "C4": {
254
+ "standard": "NFZ10011",
255
+ "orientation": "landscape",
256
+ "layout": {
257
+ "window": {
258
+ "supported": true,
259
+ "area": {
260
+ "x": 20,
261
+ "y": 55,
262
+ "width": 90,
263
+ "height": 55
264
+ }
265
+ },
266
+ "post_mark": {
267
+ "x": 270,
268
+ "y": 15
269
+ }
270
+ }
271
+ },
272
+ "B4": {
273
+ "standard": "NFZ10011",
274
+ "orientation": "landscape",
275
+ "layout": {
276
+ "window": {
277
+ "supported": false
278
+ },
279
+ "post_mark": {
280
+ "x": 300,
281
+ "y": 15
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }
287
+ }
288
+ }
@@ -1,13 +1,68 @@
1
1
  {
2
- "mappings": {
3
- "schemas/products.schema.json": "data/products.json",
4
- "schemas/services.schema.json": "data/services.json",
5
- "schemas/prices.schema.json": "data/prices.json",
6
- "schemas/zones.schema.json": "data/zones.json",
7
- "schemas/weight_tiers.schema.json": "data/weight_tiers.json",
8
- "schemas/dimensions.schema.json": "data/dimensions.json",
9
- "schemas/features.schema.json": "data/features.json",
10
- "schemas/restrictions.schema.json": "data/restrictions.json",
11
- "schemas/data_links.schema.json": "data/data_links.json"
2
+ "$schema": "https://raw.githubusercontent.com/gruncellka/porto-data/refs/heads/main/porto_data/schemas/mappings.schema.json",
3
+ "mappings": {
4
+ "policy": {
5
+ "schemas/jurisdictions.schema.json": "policy/jurisdictions.json",
6
+ "schemas/markets.schema.json": "policy/markets.json",
7
+ "schemas/restrictions.schema.json": "policy/restrictions.json"
8
+ },
9
+ "formats": {
10
+ "schemas/envelopes.schema.json": "formats/envelopes.json",
11
+ "schemas/layouts.schema.json": "formats/layouts.json"
12
+ },
13
+ "registry": {
14
+ "schemas/providers.schema.json": "providers.json"
15
+ },
16
+ "providers": {
17
+ "deutschepost": {
18
+ "schemas/marks.schema.json": "providers/deutschepost/marks.json",
19
+ "schemas/products.schema.json": "providers/deutschepost/products.json",
20
+ "schemas/features.schema.json": "providers/deutschepost/features.json",
21
+ "schemas/services.schema.json": "providers/deutschepost/services.json",
22
+ "schemas/product_prices.schema.json": "providers/deutschepost/prices/products.json",
23
+ "schemas/service_prices.schema.json": "providers/deutschepost/prices/services.json",
24
+ "schemas/zones.schema.json": "providers/deutschepost/zones.json",
25
+ "schemas/weights.schema.json": "providers/deutschepost/weights.json",
26
+ "schemas/limits.schema.json": "providers/deutschepost/limits.json",
27
+ "schemas/graph.schema.json": "providers/deutschepost/graph.json"
28
+ },
29
+ "ukrposhta": {
30
+ "schemas/marks.schema.json": "providers/ukrposhta/marks.json",
31
+ "schemas/products.schema.json": "providers/ukrposhta/products.json",
32
+ "schemas/features.schema.json": "providers/ukrposhta/features.json",
33
+ "schemas/services.schema.json": "providers/ukrposhta/services.json",
34
+ "schemas/product_prices.schema.json": "providers/ukrposhta/prices/products.json",
35
+ "schemas/service_prices.schema.json": "providers/ukrposhta/prices/services.json",
36
+ "schemas/zones.schema.json": "providers/ukrposhta/zones.json",
37
+ "schemas/weights.schema.json": "providers/ukrposhta/weights.json",
38
+ "schemas/limits.schema.json": "providers/ukrposhta/limits.json",
39
+ "schemas/graph.schema.json": "providers/ukrposhta/graph.json"
40
+ },
41
+ "laposte": {
42
+ "schemas/marks.schema.json": "providers/laposte/marks.json",
43
+ "schemas/products.schema.json": "providers/laposte/products.json",
44
+ "schemas/features.schema.json": "providers/laposte/features.json",
45
+ "schemas/services.schema.json": "providers/laposte/services.json",
46
+ "schemas/product_prices.schema.json": "providers/laposte/prices/products.json",
47
+ "schemas/service_prices.schema.json": "providers/laposte/prices/services.json",
48
+ "schemas/zones.schema.json": "providers/laposte/zones.json",
49
+ "schemas/weights.schema.json": "providers/laposte/weights.json",
50
+ "schemas/limits.schema.json": "providers/laposte/limits.json",
51
+ "schemas/graph.schema.json": "providers/laposte/graph.json"
52
+ },
53
+ "swisspost": {
54
+ "schemas/marks.schema.json": "providers/swisspost/marks.json",
55
+ "schemas/rules.schema.json": "providers/swisspost/rules.json",
56
+ "schemas/products.schema.json": "providers/swisspost/products.json",
57
+ "schemas/features.schema.json": "providers/swisspost/features.json",
58
+ "schemas/services.schema.json": "providers/swisspost/services.json",
59
+ "schemas/product_prices.schema.json": "providers/swisspost/prices/products.json",
60
+ "schemas/service_prices.schema.json": "providers/swisspost/prices/services.json",
61
+ "schemas/zones.schema.json": "providers/swisspost/zones.json",
62
+ "schemas/weights.schema.json": "providers/swisspost/weights.json",
63
+ "schemas/limits.schema.json": "providers/swisspost/limits.json",
64
+ "schemas/graph.schema.json": "providers/swisspost/graph.json"
65
+ }
12
66
  }
67
+ }
13
68
  }