@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.js ADDED
@@ -0,0 +1,829 @@
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 StandardPriceDescriptionValues = [
302
+ "Adults",
303
+ "Children",
304
+ "Groups",
305
+ "CJP",
306
+ "Pasholders",
307
+ "Lastminute"
308
+ ];
309
+ var PriceDescriptionValueSchema = z10.string();
310
+ var PriceElementDescriptionTranslationSchema = z10.object({
311
+ lang: LangCodeSchema.optional(),
312
+ text: z10.string().optional()
313
+ }).passthrough();
314
+ var PriceElementExtraPriceInformationSchema = z10.object({
315
+ lang: LangCodeSchema.optional(),
316
+ text: z10.string().optional()
317
+ }).passthrough();
318
+ var PriceValueSchema = z10.object({
319
+ from: z10.number().optional(),
320
+ until: z10.number().optional()
321
+ }).passthrough();
322
+ var PriceElementCommentSchema = z10.object({
323
+ text: z10.string().optional()
324
+ }).passthrough();
325
+ var PriceElementDescriptionSchema = z10.object({
326
+ value: PriceDescriptionValueSchema.optional(),
327
+ descriptionTranslations: z10.array(PriceElementDescriptionTranslationSchema).optional()
328
+ }).passthrough();
329
+ var PriceElementSchema = z10.object({
330
+ freeentrance: z10.boolean().optional(),
331
+ priceValue: PriceValueSchema.optional(),
332
+ description: PriceElementDescriptionSchema.optional(),
333
+ comments: z10.array(PriceElementCommentSchema).optional(),
334
+ extraPriceInformations: z10.array(PriceElementExtraPriceInformationSchema).optional()
335
+ }).passthrough();
336
+
337
+ // src/promotion.ts
338
+ import { z as z11 } from "zod";
339
+ var ValidityStrategySchema = z11.enum([
340
+ "always",
341
+ "dateRange",
342
+ "earlyBird",
343
+ "lastMinute"
344
+ ]);
345
+ var PromotionTypeSchema = z11.enum([
346
+ "none",
347
+ "free",
348
+ "discount",
349
+ "gift",
350
+ "allowance"
351
+ ]);
352
+ var DiscountSchema = z11.object({
353
+ free: z11.boolean().optional(),
354
+ percentage: z11.number().int().optional(),
355
+ amount: z11.number().optional()
356
+ }).passthrough();
357
+ var PromotionTranslationSchema = z11.object({
358
+ lang: LangCodeSchema.optional(),
359
+ description: z11.string().optional()
360
+ }).passthrough();
361
+ var PromotionOpenSchema = z11.object({
362
+ month: z11.number().int().optional(),
363
+ weeknumber: z11.number().int().optional(),
364
+ daynumber: z11.number().int().optional(),
365
+ day: z11.number().int().optional(),
366
+ whens: z11.array(z11.any()).optional()
367
+ }).passthrough();
368
+ var PromotionSchema = z11.object({
369
+ product: z11.string().optional(),
370
+ externalReference: z11.string().optional(),
371
+ promotionType: PromotionTypeSchema.optional(),
372
+ discount: DiscountSchema.optional(),
373
+ translations: z11.array(PromotionTranslationSchema).optional(),
374
+ detailsUrls: z11.array(UrlSchema).optional(),
375
+ enabled: z11.boolean().optional(),
376
+ restrictedToRegisteredUsers: z11.boolean().optional(),
377
+ validityStrategy: ValidityStrategySchema.optional(),
378
+ eventRelativeDuration: z11.string().optional(),
379
+ startDate: z11.string().datetime({ offset: true }).optional(),
380
+ endDate: z11.string().datetime({ offset: true }).optional(),
381
+ opens: z11.array(PromotionOpenSchema).optional()
382
+ }).passthrough();
383
+
384
+ // src/route-info.ts
385
+ import { z as z13 } from "zod";
386
+
387
+ // src/trc-item-detail.ts
388
+ import { z as z12 } from "zod";
389
+ var TRCItemDetailSchema = z12.object({
390
+ lang: LangCodeSchema.optional(),
391
+ longdescription: z12.string().optional(),
392
+ shortdescription: z12.string().optional(),
393
+ title: z12.string().optional()
394
+ }).passthrough();
395
+
396
+ // src/route-info.ts
397
+ var RouteTypeSchema = z13.enum([
398
+ "driving_traffic",
399
+ "driving",
400
+ "walking",
401
+ "cycling"
402
+ ]);
403
+ var RouteInfoTypeSchema = z13.enum([
404
+ "eventConnectors",
405
+ "route_maker",
406
+ "route_iq",
407
+ "odp_routes",
408
+ "other"
409
+ ]);
410
+ var RouteDifficultySchema = z13.enum([
411
+ "easy",
412
+ "moderate",
413
+ "challenging",
414
+ "difficult",
415
+ "expert"
416
+ ]);
417
+ var SurfaceTypeSchema = z13.enum([
418
+ "paved",
419
+ "gravel",
420
+ "dirt",
421
+ "sand",
422
+ "grass",
423
+ "cobblestone",
424
+ "boardwalk",
425
+ "rock",
426
+ "snow",
427
+ "water",
428
+ "mixed"
429
+ ]);
430
+ var PoiCategorySchema = z13.enum([
431
+ "museum",
432
+ "monument",
433
+ "castle",
434
+ "church",
435
+ "nature_area",
436
+ "parking",
437
+ "toilet",
438
+ "rest_area",
439
+ "picnic_area",
440
+ "hotel",
441
+ "camping",
442
+ "hostel",
443
+ "bed_breakfast",
444
+ "restaurant",
445
+ "cafe",
446
+ "bar",
447
+ "bakery",
448
+ "swimming",
449
+ "hiking_start",
450
+ "cycling_start",
451
+ "boat_rental",
452
+ "bus_stop",
453
+ "train_station",
454
+ "ferry",
455
+ "bike_rental",
456
+ "viewpoint",
457
+ "information_point",
458
+ "other"
459
+ ]);
460
+ var LatLngSchema = z13.object({
461
+ lat: z13.number().optional(),
462
+ lng: z13.number().optional(),
463
+ altitude: z13.number().optional(),
464
+ label: z13.string().optional()
465
+ }).passthrough();
466
+ var LocationItemRefSchema = z13.object({
467
+ id: z13.string().optional(),
468
+ trcid: z13.string().optional(),
469
+ text: z13.string().optional()
470
+ }).passthrough();
471
+ var LocationRefSchema = z13.object({
472
+ address: AddressSchema.optional(),
473
+ label: z13.string().optional(),
474
+ locationItem: LocationItemRefSchema.optional(),
475
+ venueItem: LocationItemRefSchema.optional()
476
+ }).passthrough();
477
+ var CalendarRefSchema = z13.object({}).passthrough();
478
+ var PoiSchema = z13.object({
479
+ distanceInKilometersFromStart: z13.number().optional(),
480
+ durationInMinutesFromStart: z13.number().int().optional(),
481
+ coordinate: LatLngSchema.optional(),
482
+ location: LocationRefSchema.optional(),
483
+ label: z13.string().optional(),
484
+ icon: z13.string().optional(),
485
+ category: PoiCategorySchema.optional(),
486
+ trcItemDetails: z13.array(TRCItemDetailSchema).optional(),
487
+ files: z13.array(FileSchema).optional(),
488
+ calendar: CalendarRefSchema.optional(),
489
+ locationItem: LocationItemRefSchema.optional()
490
+ }).passthrough();
491
+ var RouteInfoSchema = z13.object({
492
+ type: RouteInfoTypeSchema.optional(),
493
+ routeType: RouteTypeSchema.optional(),
494
+ url: z13.string().optional(),
495
+ distanceInKilometers: z13.number().optional(),
496
+ durationInMinutes: z13.number().int().optional(),
497
+ start: AddressSchema.optional(),
498
+ end: AddressSchema.optional(),
499
+ pois: z13.array(PoiSchema).optional(),
500
+ routeCoordinates: z13.array(LatLngSchema).optional(),
501
+ calculatedCoordinates: z13.array(LatLngSchema).optional(),
502
+ waterPoints: z13.array(LatLngSchema).optional(),
503
+ difficulty: RouteDifficultySchema.optional(),
504
+ primarySurface: SurfaceTypeSchema.optional()
505
+ }).passthrough();
506
+
507
+ // src/seo-metadata.ts
508
+ import { z as z14 } from "zod";
509
+ var OGTypeSchema = z14.enum(["event", "place", "article", "organization"]);
510
+ var TwitterCardTypeSchema = z14.enum(["summary", "summary_large_image"]);
511
+ var SeoDetailSchema = z14.object({
512
+ lang: LangCodeSchema.optional(),
513
+ metaTitle: z14.string().optional(),
514
+ metaDescription: z14.string().optional(),
515
+ ogImageUrl: z14.string().optional(),
516
+ ogImageAlt: z14.string().optional(),
517
+ ogType: OGTypeSchema.optional(),
518
+ twitterCardType: TwitterCardTypeSchema.optional()
519
+ }).passthrough();
520
+ var CanonicalConfigSchema = z14.object({
521
+ canonicalUrl: z14.string().optional()
522
+ }).passthrough();
523
+ var SeoMetadataSchema = z14.object({
524
+ seoDetails: z14.array(SeoDetailSchema).optional(),
525
+ canonical: CanonicalConfigSchema.optional(),
526
+ schemaOrgJsonLd: z14.string().optional()
527
+ }).passthrough();
528
+
529
+ // src/trc-item-categories.ts
530
+ import { z as z15 } from "zod";
531
+ var DataTypeSchema = z15.enum([
532
+ "yes",
533
+ "yesno",
534
+ "nullableyesno",
535
+ "choice",
536
+ "multichoice",
537
+ "freetext",
538
+ "integer",
539
+ "decimal",
540
+ "date",
541
+ "data",
542
+ "url",
543
+ "email",
544
+ "phone"
545
+ ]);
546
+ var CategoryTranslationSchema = z15.object({
547
+ catid: z15.string().optional(),
548
+ lang: LangCodeSchema.optional(),
549
+ label: z15.string().optional(),
550
+ unit: z15.string().optional(),
551
+ value: z15.string().optional(),
552
+ explanation: z15.string().optional()
553
+ }).passthrough();
554
+ var CategoryValueSchema = z15.object({
555
+ catid: z15.string().optional(),
556
+ value: z15.string().optional(),
557
+ categorytranslations: z15.array(CategoryTranslationSchema).optional()
558
+ }).passthrough();
559
+ var CategorySchema = z15.object({
560
+ catid: z15.string().optional(),
561
+ valueid: z15.string().optional(),
562
+ value: z15.string().optional(),
563
+ defaultValue: z15.string().optional(),
564
+ datatype: DataTypeSchema.optional(),
565
+ categoryvalues: z15.array(CategoryValueSchema).optional(),
566
+ categoryTranslations: z15.array(CategoryTranslationSchema).optional(),
567
+ parentCategoryTranslations: z15.array(CategoryTranslationSchema).optional(),
568
+ valueCategoryTranslations: z15.array(CategoryTranslationSchema).optional()
569
+ }).passthrough();
570
+ var TypeSchema = z15.object({
571
+ catid: z15.string().optional(),
572
+ isDefault: z15.boolean().optional(),
573
+ categoryTranslations: z15.array(CategoryTranslationSchema).optional()
574
+ }).passthrough();
575
+ var TRCItemCategoriesSchema = z15.object({
576
+ types: z15.array(TypeSchema).optional(),
577
+ categories: z15.array(CategorySchema).optional(),
578
+ soldout: z15.boolean().optional(),
579
+ canceled: z15.boolean().optional()
580
+ }).passthrough();
581
+
582
+ // src/trcitem-relation.ts
583
+ import { z as z17 } from "zod";
584
+
585
+ // src/sub-item-group.ts
586
+ import { z as z16 } from "zod";
587
+ var SubItemTranslationSchema = z16.object({
588
+ lang: LangCodeSchema.optional(),
589
+ title: z16.string().optional()
590
+ }).passthrough();
591
+ var SubItemGroupSchema = z16.object({
592
+ trcid: z16.string().optional(),
593
+ type: TypeSchema.optional(),
594
+ categories: z16.array(CategorySchema).optional(),
595
+ subItemTranslations: z16.array(SubItemTranslationSchema).optional(),
596
+ media: z16.array(FileSchema).optional()
597
+ }).passthrough();
598
+
599
+ // src/trcitem-relation.ts
600
+ var TrcitemRelationSchema = z17.object({
601
+ subItemGroups: z17.array(SubItemGroupSchema).optional()
602
+ }).passthrough();
603
+
604
+ // src/translations.ts
605
+ import { z as z18 } from "zod";
606
+ var TranslationsSchema = z18.object({
607
+ primaryLanguage: LangCodeSchema.optional(),
608
+ availableLanguages: z18.array(LangCodeSchema).optional()
609
+ }).passthrough();
610
+
611
+ // src/trc-item.ts
612
+ var WFStatusSchema = z19.enum([
613
+ "draft",
614
+ "readyforvalidation",
615
+ "approved",
616
+ "rejected",
617
+ "deleted",
618
+ "archived"
619
+ ]);
620
+ var EntityTypeSchema = z19.enum([
621
+ "EVENEMENT",
622
+ "LOCATIE",
623
+ "EVENTGROUP",
624
+ "ROUTE",
625
+ "VENUE"
626
+ ]);
627
+ var _trcItemBase = z19.object({
628
+ trcid: z19.string().optional(),
629
+ creationdate: z19.string().optional(),
630
+ availablefrom: z19.string().optional(),
631
+ availableto: z19.string().optional(),
632
+ lastupdated: z19.string().optional(),
633
+ lastimportedon: z19.string().optional(),
634
+ createdby: z19.string().optional(),
635
+ lastupdatedby: z19.string().optional(),
636
+ owner: z19.string().optional(),
637
+ legalowner: z19.string().optional(),
638
+ externalid: z19.string().optional(),
639
+ slug: z19.string().optional(),
640
+ validator: z19.string().optional(),
641
+ validatedby: z19.string().optional(),
642
+ wfstatus: WFStatusSchema.optional(),
643
+ cidn: z19.string().optional(),
644
+ published: z19.boolean().optional(),
645
+ deleted: z19.boolean().optional(),
646
+ offline: z19.boolean().optional(),
647
+ isprivate: z19.boolean().optional(),
648
+ entitytype: EntityTypeSchema.optional(),
649
+ productiontrcid: z19.string().optional(),
650
+ calendar: CalendarSchema.optional(),
651
+ contactinfo: ContactinfoSchema.optional(),
652
+ trcItemCategories: TRCItemCategoriesSchema.optional(),
653
+ performers: z19.array(PerformerSchema).optional(),
654
+ files: z19.array(FileSchema).optional(),
655
+ trcItemDetails: z19.array(TRCItemDetailSchema).optional(),
656
+ trcitemRelation: TrcitemRelationSchema.optional(),
657
+ keywords: z19.string().optional(),
658
+ markers: z19.string().optional(),
659
+ location: LocationSchema.optional(),
660
+ locationRef: z19.string().optional(),
661
+ userorganisation: z19.string().optional(),
662
+ priceElements: z19.array(PriceElementSchema).optional(),
663
+ extrapriceinformations: z19.array(ExtraPriceInformationSchema).optional(),
664
+ routeInfo: RouteInfoSchema.optional(),
665
+ translations: TranslationsSchema.optional(),
666
+ promotions: z19.array(PromotionSchema).optional(),
667
+ seoMetadata: SeoMetadataSchema.optional()
668
+ }).passthrough();
669
+ var TRCItemSchema = _trcItemBase;
670
+ var TRCItemResponseSchema = _trcItemBase.extend({
671
+ trcid: z19.string(),
672
+ entitytype: EntityTypeSchema,
673
+ creationdate: z19.string(),
674
+ lastupdated: z19.string(),
675
+ wfstatus: WFStatusSchema
676
+ });
677
+
678
+ // src/converted-entry.ts
679
+ var ConvertedEntrySchema = z20.object({
680
+ label: z20.string().optional(),
681
+ created: z20.string().optional(),
682
+ modified: z20.string().optional(),
683
+ errorMessage: z20.string().optional(),
684
+ externalId: z20.string().optional(),
685
+ trcItem: TRCItemSchema.optional()
686
+ }).passthrough();
687
+
688
+ // src/fetched-entry.ts
689
+ import { z as z21 } from "zod";
690
+ var ExternalLocationInfoSchema = z21.object({
691
+ externalId: z21.string().optional(),
692
+ locationName: z21.string().optional(),
693
+ address: z21.string().optional(),
694
+ housenr: z21.string().optional(),
695
+ zipcode: z21.string().optional(),
696
+ city: z21.string().optional(),
697
+ latitude: z21.string().optional(),
698
+ longitude: z21.string().optional(),
699
+ trcid: z21.string().optional(),
700
+ ffId: z21.string().optional()
701
+ }).passthrough();
702
+ var FetchedEntrySchema = z21.object({
703
+ feed: z21.string().optional(),
704
+ sourceId: z21.string().optional(),
705
+ sourceUrl: z21.string().optional(),
706
+ errorMessage: z21.string().optional(),
707
+ label: z21.string().optional(),
708
+ created: z21.string().optional(),
709
+ modified: z21.string().optional(),
710
+ externalId: z21.string().optional(),
711
+ data: z21.record(z21.unknown()).optional(),
712
+ externalLocationInfo: ExternalLocationInfoSchema.optional()
713
+ }).passthrough();
714
+
715
+ // src/trc-item-group.ts
716
+ import { z as z22 } from "zod";
717
+ var EventLinkSchema = z22.object({
718
+ eventId: z22.string().optional()
719
+ }).passthrough();
720
+ var _trcItemGroupBase = z22.object({
721
+ trcid: z22.string().optional(),
722
+ creationdate: z22.string().optional(),
723
+ availablefrom: z22.string().optional(),
724
+ availableto: z22.string().optional(),
725
+ lastupdated: z22.string().optional(),
726
+ lastimportedon: z22.string().optional(),
727
+ createdby: z22.string().optional(),
728
+ lastupdatedby: z22.string().optional(),
729
+ owner: z22.string().optional(),
730
+ legalowner: z22.string().optional(),
731
+ externalid: z22.string().optional(),
732
+ validator: z22.string().optional(),
733
+ wfstatus: WFStatusSchema.optional(),
734
+ entitytype: EntityTypeSchema.optional(),
735
+ calendar: CalendarSchema.optional(),
736
+ contactinfo: ContactinfoSchema.optional(),
737
+ trcItemCategories: TRCItemCategoriesSchema.optional(),
738
+ files: z22.array(FileSchema).optional(),
739
+ trcItemDetails: z22.array(TRCItemDetailSchema).optional(),
740
+ keywords: z22.string().optional(),
741
+ markers: z22.string().optional(),
742
+ userorganisation: z22.string().optional(),
743
+ priceElements: z22.array(PriceElementSchema).optional(),
744
+ translations: TranslationsSchema.optional(),
745
+ promotions: z22.array(PromotionSchema).optional(),
746
+ eventLinks: z22.array(EventLinkSchema).optional()
747
+ }).passthrough();
748
+ var TRCItemGroupSchema = _trcItemGroupBase;
749
+ export {
750
+ AddressSchema,
751
+ CalendarCommentSchema,
752
+ CalendarResponseSchema,
753
+ CalendarSchema,
754
+ CalendarTypeSchema,
755
+ CanonicalConfigSchema,
756
+ CategorySchema,
757
+ CategoryTranslationSchema,
758
+ CategoryValueSchema,
759
+ CommentTranslationSchema,
760
+ ContactinfoSchema,
761
+ ConvertedEntrySchema,
762
+ DataTypeSchema,
763
+ DescriptionTranslationSchema,
764
+ DiscountSchema,
765
+ EntityTypeSchema,
766
+ EventLinkSchema,
767
+ ExceptionDateSchema,
768
+ ExternalLocationInfoSchema,
769
+ ExtraInformationSchema,
770
+ ExtraPriceInformationSchema,
771
+ FaxSchema,
772
+ FetchedEntrySchema,
773
+ FileSchema,
774
+ FileTypeSchema,
775
+ GISCoordinateSchema,
776
+ LangCodeSchema,
777
+ LatLngSchema,
778
+ LocationItemSchema,
779
+ LocationSchema,
780
+ MailSchema,
781
+ MediaTypeSchema,
782
+ OGTypeSchema,
783
+ OpenSchema,
784
+ PatternDateSchema,
785
+ PerformerSchema,
786
+ PhoneSchema,
787
+ PoiCategorySchema,
788
+ PoiSchema,
789
+ PriceDescriptionValueSchema,
790
+ PriceElementCommentSchema,
791
+ PriceElementDescriptionSchema,
792
+ PriceElementDescriptionTranslationSchema,
793
+ PriceElementExtraPriceInformationSchema,
794
+ PriceElementSchema,
795
+ PriceValueSchema,
796
+ PromotionSchema,
797
+ PromotionTranslationSchema,
798
+ PromotionTypeSchema,
799
+ RecurrencyTypeSchema,
800
+ RouteDifficultySchema,
801
+ RouteInfoSchema,
802
+ RouteInfoTypeSchema,
803
+ RouteTypeSchema,
804
+ SeoDetailSchema,
805
+ SeoMetadataSchema,
806
+ SingleDateSchema,
807
+ StandardPriceDescriptionValues,
808
+ StatusTranslationSchema,
809
+ SubItemGroupSchema,
810
+ SubItemTranslationSchema,
811
+ SurfaceTypeSchema,
812
+ TRCItemCategoriesSchema,
813
+ TRCItemDetailSchema,
814
+ TRCItemGroupSchema,
815
+ TRCItemResponseSchema,
816
+ TRCItemSchema,
817
+ TitleSchema,
818
+ TitleTranslationSchema,
819
+ TranslationsSchema,
820
+ TrcitemRelationSchema,
821
+ TwitterCardTypeSchema,
822
+ TypeSchema,
823
+ URLServiceTypeSchema,
824
+ UrlSchema,
825
+ ValidityStrategySchema,
826
+ WFStatusSchema,
827
+ WhenSchema,
828
+ WhenStatusSchema
829
+ };