@eventconnectors/ndtrc_model 1.1.0 → 1.4.0

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 (41) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +105 -0
  3. package/dist/index.cjs +934 -0
  4. package/dist/index.d.cts +58227 -0
  5. package/dist/index.d.ts +58227 -0
  6. package/dist/index.js +829 -0
  7. package/package.json +51 -10
  8. package/.claude/settings.local.json +0 -14
  9. package/CLAUDE.md +0 -54
  10. package/eventconnectors-ndtrc_model-1.0.4.tgz +0 -0
  11. package/index.js +0 -36
  12. package/src/__tests__/model.test.js +0 -327
  13. package/src/model/ConvertedEntry.js +0 -22
  14. package/src/model/FetchedEntry.js +0 -55
  15. package/src/model/ff/Acl.js +0 -13
  16. package/src/model/ff/ItemLink.js +0 -25
  17. package/src/model/ff/Route.js +0 -95
  18. package/src/model/ndtrc/Address.js +0 -70
  19. package/src/model/ndtrc/Calendar.js +0 -255
  20. package/src/model/ndtrc/Categories.js +0 -54
  21. package/src/model/ndtrc/ContactInfo.js +0 -188
  22. package/src/model/ndtrc/ExtraPriceInformation.js +0 -16
  23. package/src/model/ndtrc/File.js +0 -155
  24. package/src/model/ndtrc/GISCoordinate.js +0 -19
  25. package/src/model/ndtrc/Location.js +0 -23
  26. package/src/model/ndtrc/Performer.js +0 -9
  27. package/src/model/ndtrc/PriceElement.js +0 -64
  28. package/src/model/ndtrc/Promotion.js +0 -51
  29. package/src/model/ndtrc/RouteInfo.js +0 -34
  30. package/src/model/ndtrc/SubItemGroup.js +0 -102
  31. package/src/model/ndtrc/TRCItem.js +0 -136
  32. package/src/model/ndtrc/TRCItemCategories.js +0 -105
  33. package/src/model/ndtrc/TRCItemDetail.js +0 -10
  34. package/src/model/ndtrc/TRCItemGroup.js +0 -74
  35. package/src/model/ndtrc/TRCItemRelation.js +0 -13
  36. package/src/model/ndtrc/Translations.js +0 -8
  37. package/src/model/ndtrc/enums.js +0 -33
  38. package/src/resources/schema/NDTRC-types-EVENTS.txt +0 -0
  39. package/src/resources/schema/NDTRC-types-locaties.txt +0 -0
  40. package/src/util/CategoryMap.js +0 -194
  41. package/src/util/StringUtils.js +0 -12
package/dist/index.cjs ADDED
@@ -0,0 +1,934 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ AddressSchema: () => AddressSchema,
24
+ CalendarCommentSchema: () => CalendarCommentSchema,
25
+ CalendarResponseSchema: () => CalendarResponseSchema,
26
+ CalendarSchema: () => CalendarSchema,
27
+ CalendarTypeSchema: () => CalendarTypeSchema,
28
+ CanonicalConfigSchema: () => CanonicalConfigSchema,
29
+ CategorySchema: () => CategorySchema,
30
+ CategoryTranslationSchema: () => CategoryTranslationSchema,
31
+ CategoryValueSchema: () => CategoryValueSchema,
32
+ CommentTranslationSchema: () => CommentTranslationSchema,
33
+ ContactinfoSchema: () => ContactinfoSchema,
34
+ ConvertedEntrySchema: () => ConvertedEntrySchema,
35
+ DataTypeSchema: () => DataTypeSchema,
36
+ DescriptionTranslationSchema: () => DescriptionTranslationSchema,
37
+ DiscountSchema: () => DiscountSchema,
38
+ EntityTypeSchema: () => EntityTypeSchema,
39
+ EventLinkSchema: () => EventLinkSchema,
40
+ ExceptionDateSchema: () => ExceptionDateSchema,
41
+ ExternalLocationInfoSchema: () => ExternalLocationInfoSchema,
42
+ ExtraInformationSchema: () => ExtraInformationSchema,
43
+ ExtraPriceInformationSchema: () => ExtraPriceInformationSchema,
44
+ FaxSchema: () => FaxSchema,
45
+ FetchedEntrySchema: () => FetchedEntrySchema,
46
+ FileSchema: () => FileSchema,
47
+ FileTypeSchema: () => FileTypeSchema,
48
+ GISCoordinateSchema: () => GISCoordinateSchema,
49
+ LangCodeSchema: () => LangCodeSchema,
50
+ LatLngSchema: () => LatLngSchema,
51
+ LocationItemSchema: () => LocationItemSchema,
52
+ LocationSchema: () => LocationSchema,
53
+ MailSchema: () => MailSchema,
54
+ MediaTypeSchema: () => MediaTypeSchema,
55
+ OGTypeSchema: () => OGTypeSchema,
56
+ OpenSchema: () => OpenSchema,
57
+ PatternDateSchema: () => PatternDateSchema,
58
+ PerformerSchema: () => PerformerSchema,
59
+ PhoneSchema: () => PhoneSchema,
60
+ PoiCategorySchema: () => PoiCategorySchema,
61
+ PoiSchema: () => PoiSchema,
62
+ PriceDescriptionValueSchema: () => PriceDescriptionValueSchema,
63
+ PriceElementCommentSchema: () => PriceElementCommentSchema,
64
+ PriceElementDescriptionSchema: () => PriceElementDescriptionSchema,
65
+ PriceElementDescriptionTranslationSchema: () => PriceElementDescriptionTranslationSchema,
66
+ PriceElementExtraPriceInformationSchema: () => PriceElementExtraPriceInformationSchema,
67
+ PriceElementSchema: () => PriceElementSchema,
68
+ PriceValueSchema: () => PriceValueSchema,
69
+ PromotionSchema: () => PromotionSchema,
70
+ PromotionTranslationSchema: () => PromotionTranslationSchema,
71
+ PromotionTypeSchema: () => PromotionTypeSchema,
72
+ RecurrencyTypeSchema: () => RecurrencyTypeSchema,
73
+ RouteDifficultySchema: () => RouteDifficultySchema,
74
+ RouteInfoSchema: () => RouteInfoSchema,
75
+ RouteInfoTypeSchema: () => RouteInfoTypeSchema,
76
+ RouteTypeSchema: () => RouteTypeSchema,
77
+ SeoDetailSchema: () => SeoDetailSchema,
78
+ SeoMetadataSchema: () => SeoMetadataSchema,
79
+ SingleDateSchema: () => SingleDateSchema,
80
+ StandardPriceDescriptionValues: () => StandardPriceDescriptionValues,
81
+ StatusTranslationSchema: () => StatusTranslationSchema,
82
+ SubItemGroupSchema: () => SubItemGroupSchema,
83
+ SubItemTranslationSchema: () => SubItemTranslationSchema,
84
+ SurfaceTypeSchema: () => SurfaceTypeSchema,
85
+ TRCItemCategoriesSchema: () => TRCItemCategoriesSchema,
86
+ TRCItemDetailSchema: () => TRCItemDetailSchema,
87
+ TRCItemGroupSchema: () => TRCItemGroupSchema,
88
+ TRCItemResponseSchema: () => TRCItemResponseSchema,
89
+ TRCItemSchema: () => TRCItemSchema,
90
+ TitleSchema: () => TitleSchema,
91
+ TitleTranslationSchema: () => TitleTranslationSchema,
92
+ TranslationsSchema: () => TranslationsSchema,
93
+ TrcitemRelationSchema: () => TrcitemRelationSchema,
94
+ TwitterCardTypeSchema: () => TwitterCardTypeSchema,
95
+ TypeSchema: () => TypeSchema,
96
+ URLServiceTypeSchema: () => URLServiceTypeSchema,
97
+ UrlSchema: () => UrlSchema,
98
+ ValidityStrategySchema: () => ValidityStrategySchema,
99
+ WFStatusSchema: () => WFStatusSchema,
100
+ WhenSchema: () => WhenSchema,
101
+ WhenStatusSchema: () => WhenStatusSchema
102
+ });
103
+ module.exports = __toCommonJS(index_exports);
104
+
105
+ // src/address.ts
106
+ var import_zod2 = require("zod");
107
+
108
+ // src/gis-coordinate.ts
109
+ var import_zod = require("zod");
110
+ var numericString = (min, max) => import_zod.z.string().refine(
111
+ (v) => {
112
+ const n = Number(v);
113
+ return !Number.isNaN(n) && n >= min && n <= max;
114
+ },
115
+ { message: `Must be a numeric string in [${min}, ${max}]` }
116
+ );
117
+ var GISCoordinateSchema = import_zod.z.object({
118
+ xcoordinate: numericString(-180, 180).optional(),
119
+ ycoordinate: numericString(-90, 90).optional(),
120
+ label: import_zod.z.string().optional()
121
+ }).passthrough();
122
+
123
+ // src/address.ts
124
+ var AddressSchema = import_zod2.z.object({
125
+ main: import_zod2.z.boolean().optional(),
126
+ reservation: import_zod2.z.boolean().optional(),
127
+ title: import_zod2.z.string().optional(),
128
+ city: import_zod2.z.string().optional(),
129
+ citytrcid: import_zod2.z.string().optional(),
130
+ country: import_zod2.z.string().optional(),
131
+ housenr: import_zod2.z.string().optional(),
132
+ street: import_zod2.z.string().optional(),
133
+ streettrcid: import_zod2.z.string().optional(),
134
+ zipcode: import_zod2.z.string().optional(),
135
+ province: import_zod2.z.string().optional(),
136
+ neighbourhood: import_zod2.z.string().optional(),
137
+ district: import_zod2.z.string().optional(),
138
+ gisCoordinates: import_zod2.z.array(GISCoordinateSchema).optional()
139
+ }).passthrough();
140
+
141
+ // src/converted-entry.ts
142
+ var import_zod20 = require("zod");
143
+
144
+ // src/trc-item.ts
145
+ var import_zod19 = require("zod");
146
+
147
+ // src/calendar.ts
148
+ var import_zod5 = require("zod");
149
+
150
+ // src/internal/lang-code.ts
151
+ var import_zod3 = require("zod");
152
+ var LangCodeSchema = import_zod3.z.string().regex(/^[a-z]{2}$/, {
153
+ message: "Must be a lowercase ISO 639-1 two-letter language code"
154
+ });
155
+
156
+ // src/contactinfo.ts
157
+ var import_zod4 = require("zod");
158
+ var URLServiceTypeSchema = import_zod4.z.enum([
159
+ "general",
160
+ "booking",
161
+ "review",
162
+ "video",
163
+ "webshop",
164
+ "socialmedia",
165
+ "lastminute",
166
+ "virtualtour",
167
+ "dmo",
168
+ "sustainability",
169
+ "venuefinder",
170
+ "travelbase",
171
+ "homepage"
172
+ ]);
173
+ var DescriptionTranslationSchema = import_zod4.z.object({
174
+ lang: LangCodeSchema.optional(),
175
+ label: import_zod4.z.string().optional()
176
+ }).passthrough();
177
+ var MailSchema = import_zod4.z.object({
178
+ email: import_zod4.z.string().email().optional(),
179
+ descriptioncode: import_zod4.z.string().optional(),
180
+ reservations: import_zod4.z.boolean().optional(),
181
+ descriptionTranslations: import_zod4.z.array(DescriptionTranslationSchema).optional()
182
+ }).passthrough();
183
+ var PhoneSchema = import_zod4.z.object({
184
+ number: import_zod4.z.string().optional(),
185
+ descriptioncode: import_zod4.z.string().optional(),
186
+ reservations: import_zod4.z.boolean().optional(),
187
+ descriptionTranslations: import_zod4.z.array(DescriptionTranslationSchema).optional()
188
+ }).passthrough();
189
+ var FaxSchema = import_zod4.z.object({
190
+ number: import_zod4.z.string().optional(),
191
+ descriptioncode: import_zod4.z.string().optional(),
192
+ reservations: import_zod4.z.boolean().optional(),
193
+ descriptionTranslations: import_zod4.z.array(DescriptionTranslationSchema).optional()
194
+ }).passthrough();
195
+ var UrlSchema = import_zod4.z.object({
196
+ url: import_zod4.z.string().url().optional(),
197
+ descriptioncode: import_zod4.z.string().optional(),
198
+ targetLanguage: LangCodeSchema.optional(),
199
+ reservations: import_zod4.z.boolean().optional(),
200
+ urlServiceType: URLServiceTypeSchema.optional(),
201
+ descriptionTranslations: import_zod4.z.array(DescriptionTranslationSchema).optional()
202
+ }).passthrough();
203
+ var ContactinfoSchema = import_zod4.z.object({
204
+ label: import_zod4.z.string().optional(),
205
+ /** @deprecated Use mail instead */
206
+ mails: import_zod4.z.array(MailSchema).optional(),
207
+ /** @deprecated Use phone instead */
208
+ phones: import_zod4.z.array(PhoneSchema).optional(),
209
+ /** @deprecated Use fax instead */
210
+ faxes: import_zod4.z.array(FaxSchema).optional(),
211
+ urls: import_zod4.z.array(UrlSchema).optional(),
212
+ /** @deprecated Use address instead */
213
+ addresses: import_zod4.z.array(AddressSchema).optional(),
214
+ mail: MailSchema.optional(),
215
+ phone: PhoneSchema.optional(),
216
+ fax: FaxSchema.optional(),
217
+ address: AddressSchema.optional()
218
+ }).passthrough();
219
+
220
+ // src/calendar.ts
221
+ var CalendarTypeSchema = import_zod5.z.enum([
222
+ "NONE",
223
+ "ALWAYSOPEN",
224
+ "ONREQUEST",
225
+ "OPENINGTIMES",
226
+ "PATTERNDATES",
227
+ "SINGLEDATES"
228
+ ]);
229
+ var RecurrencyTypeSchema = import_zod5.z.enum([
230
+ "daily",
231
+ "weekly",
232
+ "monthlySimple",
233
+ "monthlyComplex",
234
+ "yearly"
235
+ ]);
236
+ var WhenStatusSchema = import_zod5.z.enum([
237
+ "normal",
238
+ "cancelled",
239
+ "soldout",
240
+ "movedto",
241
+ "premiere",
242
+ "reprise"
243
+ ]);
244
+ var HHmm = import_zod5.z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/, {
245
+ message: "Must be a 24-hour time in HH:mm format"
246
+ });
247
+ var StatusTranslationSchema = import_zod5.z.object({
248
+ lang: LangCodeSchema.optional(),
249
+ text: import_zod5.z.string().optional()
250
+ }).passthrough();
251
+ var ExtraInformationSchema = import_zod5.z.object({
252
+ lang: LangCodeSchema.optional(),
253
+ text: import_zod5.z.string().optional()
254
+ }).passthrough();
255
+ var WhenSchema = import_zod5.z.object({
256
+ timestart: HHmm.optional(),
257
+ timeend: HHmm.optional(),
258
+ status: WhenStatusSchema.optional(),
259
+ valid: import_zod5.z.boolean().optional(),
260
+ statustranslations: import_zod5.z.array(StatusTranslationSchema).optional(),
261
+ extrainformations: import_zod5.z.array(ExtraInformationSchema).optional(),
262
+ urls: import_zod5.z.array(UrlSchema).optional()
263
+ }).passthrough();
264
+ var SingleDateSchema = import_zod5.z.object({
265
+ date: import_zod5.z.string().optional(),
266
+ /** Wire-format wart: singular "when" holds a list of When, cf. ExceptionDate.whens */
267
+ when: import_zod5.z.array(WhenSchema).optional()
268
+ }).passthrough();
269
+ var OpenSchema = import_zod5.z.object({
270
+ month: import_zod5.z.number().int().optional(),
271
+ weeknumber: import_zod5.z.number().int().optional(),
272
+ daynumber: import_zod5.z.number().int().optional(),
273
+ day: import_zod5.z.number().int().optional(),
274
+ /** Wire-format wart: plural "whens" holds a list of When, cf. SingleDate.when */
275
+ whens: import_zod5.z.array(WhenSchema).optional()
276
+ }).passthrough();
277
+ var PatternDateSchema = import_zod5.z.object({
278
+ startdate: import_zod5.z.string().optional(),
279
+ enddate: import_zod5.z.string().optional(),
280
+ recurrencyType: RecurrencyTypeSchema.optional(),
281
+ occurrence: import_zod5.z.number().int().optional(),
282
+ recurrence: import_zod5.z.number().int().optional(),
283
+ opens: import_zod5.z.array(OpenSchema).optional()
284
+ }).passthrough();
285
+ var ExceptionDateSchema = import_zod5.z.object({
286
+ date: import_zod5.z.string().optional(),
287
+ /** Wire-format wart: plural "whens" holds a list of When, cf. SingleDate.when */
288
+ whens: import_zod5.z.array(WhenSchema).optional()
289
+ }).passthrough();
290
+ var CommentTranslationSchema = import_zod5.z.object({
291
+ label: import_zod5.z.string().optional(),
292
+ lang: LangCodeSchema.optional()
293
+ }).passthrough();
294
+ var CalendarCommentSchema = import_zod5.z.object({
295
+ label: import_zod5.z.string().optional(),
296
+ commentTranslations: import_zod5.z.array(CommentTranslationSchema).optional()
297
+ }).passthrough();
298
+ var CalendarSchema = import_zod5.z.object({
299
+ singleDates: import_zod5.z.array(SingleDateSchema).optional(),
300
+ patternDates: import_zod5.z.array(PatternDateSchema).optional(),
301
+ opens: import_zod5.z.array(ExceptionDateSchema).optional(),
302
+ closeds: import_zod5.z.array(ExceptionDateSchema).optional(),
303
+ soldouts: import_zod5.z.array(ExceptionDateSchema).optional(),
304
+ cancelleds: import_zod5.z.array(ExceptionDateSchema).optional(),
305
+ excludeholidays: import_zod5.z.boolean().optional(),
306
+ cancelled: import_zod5.z.boolean().optional(),
307
+ soldout: import_zod5.z.boolean().optional(),
308
+ onrequest: import_zod5.z.boolean().optional(),
309
+ alwaysopen: import_zod5.z.boolean().optional(),
310
+ comment: CalendarCommentSchema.optional(),
311
+ calendarType: CalendarTypeSchema.optional()
312
+ }).passthrough();
313
+ var CalendarResponseSchema = CalendarSchema.extend({
314
+ cancelled: import_zod5.z.boolean(),
315
+ soldout: import_zod5.z.boolean(),
316
+ excludeholidays: import_zod5.z.boolean(),
317
+ calendarType: CalendarTypeSchema
318
+ });
319
+
320
+ // src/extra-price-information.ts
321
+ var import_zod6 = require("zod");
322
+ var ExtraPriceInformationSchema = import_zod6.z.object({
323
+ lang: LangCodeSchema.optional(),
324
+ text: import_zod6.z.string().optional()
325
+ }).passthrough();
326
+
327
+ // src/file.ts
328
+ var import_zod7 = require("zod");
329
+ var FileTypeSchema = import_zod7.z.enum([
330
+ "jpeg",
331
+ "jpg",
332
+ "gif",
333
+ "png",
334
+ "mp3",
335
+ "pdf",
336
+ "gpx",
337
+ "kml",
338
+ "youtube",
339
+ "kmz",
340
+ "vimeo",
341
+ "tif",
342
+ "bmp",
343
+ "jfif",
344
+ "tiff",
345
+ "webp"
346
+ ]);
347
+ var MediaTypeSchema = import_zod7.z.enum([
348
+ "poster",
349
+ "other",
350
+ "audio",
351
+ "brochure",
352
+ "floorplan",
353
+ "photo",
354
+ "logo",
355
+ "video",
356
+ "roadmap",
357
+ "text",
358
+ "attachment",
359
+ "qr"
360
+ ]);
361
+ var TitleTranslationSchema = import_zod7.z.object({
362
+ lang: LangCodeSchema.optional(),
363
+ label: import_zod7.z.string().optional()
364
+ }).passthrough();
365
+ var TitleSchema = import_zod7.z.object({
366
+ label: import_zod7.z.string().optional(),
367
+ titleTranslations: import_zod7.z.array(TitleTranslationSchema).optional()
368
+ }).passthrough();
369
+ var FileSchema = import_zod7.z.object({
370
+ trcid: import_zod7.z.string().optional(),
371
+ main: import_zod7.z.boolean().optional(),
372
+ copyright: import_zod7.z.string().optional(),
373
+ filename: import_zod7.z.string().optional(),
374
+ hlink: import_zod7.z.string().url().optional(),
375
+ filetype: FileTypeSchema.optional(),
376
+ mediatype: MediaTypeSchema.optional(),
377
+ targetLanguage: LangCodeSchema.optional(),
378
+ title: TitleSchema.optional()
379
+ }).passthrough();
380
+
381
+ // src/location.ts
382
+ var import_zod8 = require("zod");
383
+ var LocationItemSchema = import_zod8.z.object({
384
+ id: import_zod8.z.string().optional(),
385
+ trcid: import_zod8.z.string().optional(),
386
+ text: import_zod8.z.string().optional()
387
+ }).passthrough();
388
+ var LocationSchema = import_zod8.z.object({
389
+ address: AddressSchema.optional(),
390
+ label: import_zod8.z.string().optional(),
391
+ locationItem: LocationItemSchema.optional(),
392
+ venueItem: LocationItemSchema.optional()
393
+ }).passthrough();
394
+
395
+ // src/performer.ts
396
+ var import_zod9 = require("zod");
397
+ var PerformerSchema = import_zod9.z.object({
398
+ roleid: import_zod9.z.string().optional(),
399
+ label: import_zod9.z.string().optional(),
400
+ rolelabel: import_zod9.z.string().optional()
401
+ }).passthrough();
402
+
403
+ // src/price-element.ts
404
+ var import_zod10 = require("zod");
405
+ var StandardPriceDescriptionValues = [
406
+ "Adults",
407
+ "Children",
408
+ "Groups",
409
+ "CJP",
410
+ "Pasholders",
411
+ "Lastminute"
412
+ ];
413
+ var PriceDescriptionValueSchema = import_zod10.z.string();
414
+ var PriceElementDescriptionTranslationSchema = import_zod10.z.object({
415
+ lang: LangCodeSchema.optional(),
416
+ text: import_zod10.z.string().optional()
417
+ }).passthrough();
418
+ var PriceElementExtraPriceInformationSchema = import_zod10.z.object({
419
+ lang: LangCodeSchema.optional(),
420
+ text: import_zod10.z.string().optional()
421
+ }).passthrough();
422
+ var PriceValueSchema = import_zod10.z.object({
423
+ from: import_zod10.z.number().optional(),
424
+ until: import_zod10.z.number().optional()
425
+ }).passthrough();
426
+ var PriceElementCommentSchema = import_zod10.z.object({
427
+ text: import_zod10.z.string().optional()
428
+ }).passthrough();
429
+ var PriceElementDescriptionSchema = import_zod10.z.object({
430
+ value: PriceDescriptionValueSchema.optional(),
431
+ descriptionTranslations: import_zod10.z.array(PriceElementDescriptionTranslationSchema).optional()
432
+ }).passthrough();
433
+ var PriceElementSchema = import_zod10.z.object({
434
+ freeentrance: import_zod10.z.boolean().optional(),
435
+ priceValue: PriceValueSchema.optional(),
436
+ description: PriceElementDescriptionSchema.optional(),
437
+ comments: import_zod10.z.array(PriceElementCommentSchema).optional(),
438
+ extraPriceInformations: import_zod10.z.array(PriceElementExtraPriceInformationSchema).optional()
439
+ }).passthrough();
440
+
441
+ // src/promotion.ts
442
+ var import_zod11 = require("zod");
443
+ var ValidityStrategySchema = import_zod11.z.enum([
444
+ "always",
445
+ "dateRange",
446
+ "earlyBird",
447
+ "lastMinute"
448
+ ]);
449
+ var PromotionTypeSchema = import_zod11.z.enum([
450
+ "none",
451
+ "free",
452
+ "discount",
453
+ "gift",
454
+ "allowance"
455
+ ]);
456
+ var DiscountSchema = import_zod11.z.object({
457
+ free: import_zod11.z.boolean().optional(),
458
+ percentage: import_zod11.z.number().int().optional(),
459
+ amount: import_zod11.z.number().optional()
460
+ }).passthrough();
461
+ var PromotionTranslationSchema = import_zod11.z.object({
462
+ lang: LangCodeSchema.optional(),
463
+ description: import_zod11.z.string().optional()
464
+ }).passthrough();
465
+ var PromotionOpenSchema = import_zod11.z.object({
466
+ month: import_zod11.z.number().int().optional(),
467
+ weeknumber: import_zod11.z.number().int().optional(),
468
+ daynumber: import_zod11.z.number().int().optional(),
469
+ day: import_zod11.z.number().int().optional(),
470
+ whens: import_zod11.z.array(import_zod11.z.any()).optional()
471
+ }).passthrough();
472
+ var PromotionSchema = import_zod11.z.object({
473
+ product: import_zod11.z.string().optional(),
474
+ externalReference: import_zod11.z.string().optional(),
475
+ promotionType: PromotionTypeSchema.optional(),
476
+ discount: DiscountSchema.optional(),
477
+ translations: import_zod11.z.array(PromotionTranslationSchema).optional(),
478
+ detailsUrls: import_zod11.z.array(UrlSchema).optional(),
479
+ enabled: import_zod11.z.boolean().optional(),
480
+ restrictedToRegisteredUsers: import_zod11.z.boolean().optional(),
481
+ validityStrategy: ValidityStrategySchema.optional(),
482
+ eventRelativeDuration: import_zod11.z.string().optional(),
483
+ startDate: import_zod11.z.string().datetime({ offset: true }).optional(),
484
+ endDate: import_zod11.z.string().datetime({ offset: true }).optional(),
485
+ opens: import_zod11.z.array(PromotionOpenSchema).optional()
486
+ }).passthrough();
487
+
488
+ // src/route-info.ts
489
+ var import_zod13 = require("zod");
490
+
491
+ // src/trc-item-detail.ts
492
+ var import_zod12 = require("zod");
493
+ var TRCItemDetailSchema = import_zod12.z.object({
494
+ lang: LangCodeSchema.optional(),
495
+ longdescription: import_zod12.z.string().optional(),
496
+ shortdescription: import_zod12.z.string().optional(),
497
+ title: import_zod12.z.string().optional()
498
+ }).passthrough();
499
+
500
+ // src/route-info.ts
501
+ var RouteTypeSchema = import_zod13.z.enum([
502
+ "driving_traffic",
503
+ "driving",
504
+ "walking",
505
+ "cycling"
506
+ ]);
507
+ var RouteInfoTypeSchema = import_zod13.z.enum([
508
+ "eventConnectors",
509
+ "route_maker",
510
+ "route_iq",
511
+ "odp_routes",
512
+ "other"
513
+ ]);
514
+ var RouteDifficultySchema = import_zod13.z.enum([
515
+ "easy",
516
+ "moderate",
517
+ "challenging",
518
+ "difficult",
519
+ "expert"
520
+ ]);
521
+ var SurfaceTypeSchema = import_zod13.z.enum([
522
+ "paved",
523
+ "gravel",
524
+ "dirt",
525
+ "sand",
526
+ "grass",
527
+ "cobblestone",
528
+ "boardwalk",
529
+ "rock",
530
+ "snow",
531
+ "water",
532
+ "mixed"
533
+ ]);
534
+ var PoiCategorySchema = import_zod13.z.enum([
535
+ "museum",
536
+ "monument",
537
+ "castle",
538
+ "church",
539
+ "nature_area",
540
+ "parking",
541
+ "toilet",
542
+ "rest_area",
543
+ "picnic_area",
544
+ "hotel",
545
+ "camping",
546
+ "hostel",
547
+ "bed_breakfast",
548
+ "restaurant",
549
+ "cafe",
550
+ "bar",
551
+ "bakery",
552
+ "swimming",
553
+ "hiking_start",
554
+ "cycling_start",
555
+ "boat_rental",
556
+ "bus_stop",
557
+ "train_station",
558
+ "ferry",
559
+ "bike_rental",
560
+ "viewpoint",
561
+ "information_point",
562
+ "other"
563
+ ]);
564
+ var LatLngSchema = import_zod13.z.object({
565
+ lat: import_zod13.z.number().optional(),
566
+ lng: import_zod13.z.number().optional(),
567
+ altitude: import_zod13.z.number().optional(),
568
+ label: import_zod13.z.string().optional()
569
+ }).passthrough();
570
+ var LocationItemRefSchema = import_zod13.z.object({
571
+ id: import_zod13.z.string().optional(),
572
+ trcid: import_zod13.z.string().optional(),
573
+ text: import_zod13.z.string().optional()
574
+ }).passthrough();
575
+ var LocationRefSchema = import_zod13.z.object({
576
+ address: AddressSchema.optional(),
577
+ label: import_zod13.z.string().optional(),
578
+ locationItem: LocationItemRefSchema.optional(),
579
+ venueItem: LocationItemRefSchema.optional()
580
+ }).passthrough();
581
+ var CalendarRefSchema = import_zod13.z.object({}).passthrough();
582
+ var PoiSchema = import_zod13.z.object({
583
+ distanceInKilometersFromStart: import_zod13.z.number().optional(),
584
+ durationInMinutesFromStart: import_zod13.z.number().int().optional(),
585
+ coordinate: LatLngSchema.optional(),
586
+ location: LocationRefSchema.optional(),
587
+ label: import_zod13.z.string().optional(),
588
+ icon: import_zod13.z.string().optional(),
589
+ category: PoiCategorySchema.optional(),
590
+ trcItemDetails: import_zod13.z.array(TRCItemDetailSchema).optional(),
591
+ files: import_zod13.z.array(FileSchema).optional(),
592
+ calendar: CalendarRefSchema.optional(),
593
+ locationItem: LocationItemRefSchema.optional()
594
+ }).passthrough();
595
+ var RouteInfoSchema = import_zod13.z.object({
596
+ type: RouteInfoTypeSchema.optional(),
597
+ routeType: RouteTypeSchema.optional(),
598
+ url: import_zod13.z.string().optional(),
599
+ distanceInKilometers: import_zod13.z.number().optional(),
600
+ durationInMinutes: import_zod13.z.number().int().optional(),
601
+ start: AddressSchema.optional(),
602
+ end: AddressSchema.optional(),
603
+ pois: import_zod13.z.array(PoiSchema).optional(),
604
+ routeCoordinates: import_zod13.z.array(LatLngSchema).optional(),
605
+ calculatedCoordinates: import_zod13.z.array(LatLngSchema).optional(),
606
+ waterPoints: import_zod13.z.array(LatLngSchema).optional(),
607
+ difficulty: RouteDifficultySchema.optional(),
608
+ primarySurface: SurfaceTypeSchema.optional()
609
+ }).passthrough();
610
+
611
+ // src/seo-metadata.ts
612
+ var import_zod14 = require("zod");
613
+ var OGTypeSchema = import_zod14.z.enum(["event", "place", "article", "organization"]);
614
+ var TwitterCardTypeSchema = import_zod14.z.enum(["summary", "summary_large_image"]);
615
+ var SeoDetailSchema = import_zod14.z.object({
616
+ lang: LangCodeSchema.optional(),
617
+ metaTitle: import_zod14.z.string().optional(),
618
+ metaDescription: import_zod14.z.string().optional(),
619
+ ogImageUrl: import_zod14.z.string().optional(),
620
+ ogImageAlt: import_zod14.z.string().optional(),
621
+ ogType: OGTypeSchema.optional(),
622
+ twitterCardType: TwitterCardTypeSchema.optional()
623
+ }).passthrough();
624
+ var CanonicalConfigSchema = import_zod14.z.object({
625
+ canonicalUrl: import_zod14.z.string().optional()
626
+ }).passthrough();
627
+ var SeoMetadataSchema = import_zod14.z.object({
628
+ seoDetails: import_zod14.z.array(SeoDetailSchema).optional(),
629
+ canonical: CanonicalConfigSchema.optional(),
630
+ schemaOrgJsonLd: import_zod14.z.string().optional()
631
+ }).passthrough();
632
+
633
+ // src/trc-item-categories.ts
634
+ var import_zod15 = require("zod");
635
+ var DataTypeSchema = import_zod15.z.enum([
636
+ "yes",
637
+ "yesno",
638
+ "nullableyesno",
639
+ "choice",
640
+ "multichoice",
641
+ "freetext",
642
+ "integer",
643
+ "decimal",
644
+ "date",
645
+ "data",
646
+ "url",
647
+ "email",
648
+ "phone"
649
+ ]);
650
+ var CategoryTranslationSchema = import_zod15.z.object({
651
+ catid: import_zod15.z.string().optional(),
652
+ lang: LangCodeSchema.optional(),
653
+ label: import_zod15.z.string().optional(),
654
+ unit: import_zod15.z.string().optional(),
655
+ value: import_zod15.z.string().optional(),
656
+ explanation: import_zod15.z.string().optional()
657
+ }).passthrough();
658
+ var CategoryValueSchema = import_zod15.z.object({
659
+ catid: import_zod15.z.string().optional(),
660
+ value: import_zod15.z.string().optional(),
661
+ categorytranslations: import_zod15.z.array(CategoryTranslationSchema).optional()
662
+ }).passthrough();
663
+ var CategorySchema = import_zod15.z.object({
664
+ catid: import_zod15.z.string().optional(),
665
+ valueid: import_zod15.z.string().optional(),
666
+ value: import_zod15.z.string().optional(),
667
+ defaultValue: import_zod15.z.string().optional(),
668
+ datatype: DataTypeSchema.optional(),
669
+ categoryvalues: import_zod15.z.array(CategoryValueSchema).optional(),
670
+ categoryTranslations: import_zod15.z.array(CategoryTranslationSchema).optional(),
671
+ parentCategoryTranslations: import_zod15.z.array(CategoryTranslationSchema).optional(),
672
+ valueCategoryTranslations: import_zod15.z.array(CategoryTranslationSchema).optional()
673
+ }).passthrough();
674
+ var TypeSchema = import_zod15.z.object({
675
+ catid: import_zod15.z.string().optional(),
676
+ isDefault: import_zod15.z.boolean().optional(),
677
+ categoryTranslations: import_zod15.z.array(CategoryTranslationSchema).optional()
678
+ }).passthrough();
679
+ var TRCItemCategoriesSchema = import_zod15.z.object({
680
+ types: import_zod15.z.array(TypeSchema).optional(),
681
+ categories: import_zod15.z.array(CategorySchema).optional(),
682
+ soldout: import_zod15.z.boolean().optional(),
683
+ canceled: import_zod15.z.boolean().optional()
684
+ }).passthrough();
685
+
686
+ // src/trcitem-relation.ts
687
+ var import_zod17 = require("zod");
688
+
689
+ // src/sub-item-group.ts
690
+ var import_zod16 = require("zod");
691
+ var SubItemTranslationSchema = import_zod16.z.object({
692
+ lang: LangCodeSchema.optional(),
693
+ title: import_zod16.z.string().optional()
694
+ }).passthrough();
695
+ var SubItemGroupSchema = import_zod16.z.object({
696
+ trcid: import_zod16.z.string().optional(),
697
+ type: TypeSchema.optional(),
698
+ categories: import_zod16.z.array(CategorySchema).optional(),
699
+ subItemTranslations: import_zod16.z.array(SubItemTranslationSchema).optional(),
700
+ media: import_zod16.z.array(FileSchema).optional()
701
+ }).passthrough();
702
+
703
+ // src/trcitem-relation.ts
704
+ var TrcitemRelationSchema = import_zod17.z.object({
705
+ subItemGroups: import_zod17.z.array(SubItemGroupSchema).optional()
706
+ }).passthrough();
707
+
708
+ // src/translations.ts
709
+ var import_zod18 = require("zod");
710
+ var TranslationsSchema = import_zod18.z.object({
711
+ primaryLanguage: LangCodeSchema.optional(),
712
+ availableLanguages: import_zod18.z.array(LangCodeSchema).optional()
713
+ }).passthrough();
714
+
715
+ // src/trc-item.ts
716
+ var WFStatusSchema = import_zod19.z.enum([
717
+ "draft",
718
+ "readyforvalidation",
719
+ "approved",
720
+ "rejected",
721
+ "deleted",
722
+ "archived"
723
+ ]);
724
+ var EntityTypeSchema = import_zod19.z.enum([
725
+ "EVENEMENT",
726
+ "LOCATIE",
727
+ "EVENTGROUP",
728
+ "ROUTE",
729
+ "VENUE"
730
+ ]);
731
+ var _trcItemBase = import_zod19.z.object({
732
+ trcid: import_zod19.z.string().optional(),
733
+ creationdate: import_zod19.z.string().optional(),
734
+ availablefrom: import_zod19.z.string().optional(),
735
+ availableto: import_zod19.z.string().optional(),
736
+ lastupdated: import_zod19.z.string().optional(),
737
+ lastimportedon: import_zod19.z.string().optional(),
738
+ createdby: import_zod19.z.string().optional(),
739
+ lastupdatedby: import_zod19.z.string().optional(),
740
+ owner: import_zod19.z.string().optional(),
741
+ legalowner: import_zod19.z.string().optional(),
742
+ externalid: import_zod19.z.string().optional(),
743
+ slug: import_zod19.z.string().optional(),
744
+ validator: import_zod19.z.string().optional(),
745
+ validatedby: import_zod19.z.string().optional(),
746
+ wfstatus: WFStatusSchema.optional(),
747
+ cidn: import_zod19.z.string().optional(),
748
+ published: import_zod19.z.boolean().optional(),
749
+ deleted: import_zod19.z.boolean().optional(),
750
+ offline: import_zod19.z.boolean().optional(),
751
+ isprivate: import_zod19.z.boolean().optional(),
752
+ entitytype: EntityTypeSchema.optional(),
753
+ productiontrcid: import_zod19.z.string().optional(),
754
+ calendar: CalendarSchema.optional(),
755
+ contactinfo: ContactinfoSchema.optional(),
756
+ trcItemCategories: TRCItemCategoriesSchema.optional(),
757
+ performers: import_zod19.z.array(PerformerSchema).optional(),
758
+ files: import_zod19.z.array(FileSchema).optional(),
759
+ trcItemDetails: import_zod19.z.array(TRCItemDetailSchema).optional(),
760
+ trcitemRelation: TrcitemRelationSchema.optional(),
761
+ keywords: import_zod19.z.string().optional(),
762
+ markers: import_zod19.z.string().optional(),
763
+ location: LocationSchema.optional(),
764
+ locationRef: import_zod19.z.string().optional(),
765
+ userorganisation: import_zod19.z.string().optional(),
766
+ priceElements: import_zod19.z.array(PriceElementSchema).optional(),
767
+ extrapriceinformations: import_zod19.z.array(ExtraPriceInformationSchema).optional(),
768
+ routeInfo: RouteInfoSchema.optional(),
769
+ translations: TranslationsSchema.optional(),
770
+ promotions: import_zod19.z.array(PromotionSchema).optional(),
771
+ seoMetadata: SeoMetadataSchema.optional()
772
+ }).passthrough();
773
+ var TRCItemSchema = _trcItemBase;
774
+ var TRCItemResponseSchema = _trcItemBase.extend({
775
+ trcid: import_zod19.z.string(),
776
+ entitytype: EntityTypeSchema,
777
+ creationdate: import_zod19.z.string(),
778
+ lastupdated: import_zod19.z.string(),
779
+ wfstatus: WFStatusSchema
780
+ });
781
+
782
+ // src/converted-entry.ts
783
+ var ConvertedEntrySchema = import_zod20.z.object({
784
+ label: import_zod20.z.string().optional(),
785
+ created: import_zod20.z.string().optional(),
786
+ modified: import_zod20.z.string().optional(),
787
+ errorMessage: import_zod20.z.string().optional(),
788
+ externalId: import_zod20.z.string().optional(),
789
+ trcItem: TRCItemSchema.optional()
790
+ }).passthrough();
791
+
792
+ // src/fetched-entry.ts
793
+ var import_zod21 = require("zod");
794
+ var ExternalLocationInfoSchema = import_zod21.z.object({
795
+ externalId: import_zod21.z.string().optional(),
796
+ locationName: import_zod21.z.string().optional(),
797
+ address: import_zod21.z.string().optional(),
798
+ housenr: import_zod21.z.string().optional(),
799
+ zipcode: import_zod21.z.string().optional(),
800
+ city: import_zod21.z.string().optional(),
801
+ latitude: import_zod21.z.string().optional(),
802
+ longitude: import_zod21.z.string().optional(),
803
+ trcid: import_zod21.z.string().optional(),
804
+ ffId: import_zod21.z.string().optional()
805
+ }).passthrough();
806
+ var FetchedEntrySchema = import_zod21.z.object({
807
+ feed: import_zod21.z.string().optional(),
808
+ sourceId: import_zod21.z.string().optional(),
809
+ sourceUrl: import_zod21.z.string().optional(),
810
+ errorMessage: import_zod21.z.string().optional(),
811
+ label: import_zod21.z.string().optional(),
812
+ created: import_zod21.z.string().optional(),
813
+ modified: import_zod21.z.string().optional(),
814
+ externalId: import_zod21.z.string().optional(),
815
+ data: import_zod21.z.record(import_zod21.z.unknown()).optional(),
816
+ externalLocationInfo: ExternalLocationInfoSchema.optional()
817
+ }).passthrough();
818
+
819
+ // src/trc-item-group.ts
820
+ var import_zod22 = require("zod");
821
+ var EventLinkSchema = import_zod22.z.object({
822
+ eventId: import_zod22.z.string().optional()
823
+ }).passthrough();
824
+ var _trcItemGroupBase = import_zod22.z.object({
825
+ trcid: import_zod22.z.string().optional(),
826
+ creationdate: import_zod22.z.string().optional(),
827
+ availablefrom: import_zod22.z.string().optional(),
828
+ availableto: import_zod22.z.string().optional(),
829
+ lastupdated: import_zod22.z.string().optional(),
830
+ lastimportedon: import_zod22.z.string().optional(),
831
+ createdby: import_zod22.z.string().optional(),
832
+ lastupdatedby: import_zod22.z.string().optional(),
833
+ owner: import_zod22.z.string().optional(),
834
+ legalowner: import_zod22.z.string().optional(),
835
+ externalid: import_zod22.z.string().optional(),
836
+ validator: import_zod22.z.string().optional(),
837
+ wfstatus: WFStatusSchema.optional(),
838
+ entitytype: EntityTypeSchema.optional(),
839
+ calendar: CalendarSchema.optional(),
840
+ contactinfo: ContactinfoSchema.optional(),
841
+ trcItemCategories: TRCItemCategoriesSchema.optional(),
842
+ files: import_zod22.z.array(FileSchema).optional(),
843
+ trcItemDetails: import_zod22.z.array(TRCItemDetailSchema).optional(),
844
+ keywords: import_zod22.z.string().optional(),
845
+ markers: import_zod22.z.string().optional(),
846
+ userorganisation: import_zod22.z.string().optional(),
847
+ priceElements: import_zod22.z.array(PriceElementSchema).optional(),
848
+ translations: TranslationsSchema.optional(),
849
+ promotions: import_zod22.z.array(PromotionSchema).optional(),
850
+ eventLinks: import_zod22.z.array(EventLinkSchema).optional()
851
+ }).passthrough();
852
+ var TRCItemGroupSchema = _trcItemGroupBase;
853
+ // Annotate the CommonJS export names for ESM import in node:
854
+ 0 && (module.exports = {
855
+ AddressSchema,
856
+ CalendarCommentSchema,
857
+ CalendarResponseSchema,
858
+ CalendarSchema,
859
+ CalendarTypeSchema,
860
+ CanonicalConfigSchema,
861
+ CategorySchema,
862
+ CategoryTranslationSchema,
863
+ CategoryValueSchema,
864
+ CommentTranslationSchema,
865
+ ContactinfoSchema,
866
+ ConvertedEntrySchema,
867
+ DataTypeSchema,
868
+ DescriptionTranslationSchema,
869
+ DiscountSchema,
870
+ EntityTypeSchema,
871
+ EventLinkSchema,
872
+ ExceptionDateSchema,
873
+ ExternalLocationInfoSchema,
874
+ ExtraInformationSchema,
875
+ ExtraPriceInformationSchema,
876
+ FaxSchema,
877
+ FetchedEntrySchema,
878
+ FileSchema,
879
+ FileTypeSchema,
880
+ GISCoordinateSchema,
881
+ LangCodeSchema,
882
+ LatLngSchema,
883
+ LocationItemSchema,
884
+ LocationSchema,
885
+ MailSchema,
886
+ MediaTypeSchema,
887
+ OGTypeSchema,
888
+ OpenSchema,
889
+ PatternDateSchema,
890
+ PerformerSchema,
891
+ PhoneSchema,
892
+ PoiCategorySchema,
893
+ PoiSchema,
894
+ PriceDescriptionValueSchema,
895
+ PriceElementCommentSchema,
896
+ PriceElementDescriptionSchema,
897
+ PriceElementDescriptionTranslationSchema,
898
+ PriceElementExtraPriceInformationSchema,
899
+ PriceElementSchema,
900
+ PriceValueSchema,
901
+ PromotionSchema,
902
+ PromotionTranslationSchema,
903
+ PromotionTypeSchema,
904
+ RecurrencyTypeSchema,
905
+ RouteDifficultySchema,
906
+ RouteInfoSchema,
907
+ RouteInfoTypeSchema,
908
+ RouteTypeSchema,
909
+ SeoDetailSchema,
910
+ SeoMetadataSchema,
911
+ SingleDateSchema,
912
+ StandardPriceDescriptionValues,
913
+ StatusTranslationSchema,
914
+ SubItemGroupSchema,
915
+ SubItemTranslationSchema,
916
+ SurfaceTypeSchema,
917
+ TRCItemCategoriesSchema,
918
+ TRCItemDetailSchema,
919
+ TRCItemGroupSchema,
920
+ TRCItemResponseSchema,
921
+ TRCItemSchema,
922
+ TitleSchema,
923
+ TitleTranslationSchema,
924
+ TranslationsSchema,
925
+ TrcitemRelationSchema,
926
+ TwitterCardTypeSchema,
927
+ TypeSchema,
928
+ URLServiceTypeSchema,
929
+ UrlSchema,
930
+ ValidityStrategySchema,
931
+ WFStatusSchema,
932
+ WhenSchema,
933
+ WhenStatusSchema
934
+ });