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