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