@themeparks/typelib 1.0.4 → 1.1.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.
@@ -0,0 +1,498 @@
1
+ // THIS FILE IS GENERATED - DO NOT EDIT DIRECTLY
2
+
3
+ import { PriceData } from './pricedata.types.js';
4
+
5
+ export enum LiveStatusTypeEnum {
6
+ "OPERATING" = 'OPERATING',
7
+ "DOWN" = 'DOWN',
8
+ "CLOSED" = 'CLOSED',
9
+ "REFURBISHMENT" = 'REFURBISHMENT',
10
+ }
11
+
12
+ /** Current operating status of an entity */
13
+ export type LiveStatusType = keyof typeof LiveStatusTypeEnum;
14
+
15
+ // Function to convert string to LiveStatusTypeEnum
16
+ export function StringToLiveStatusType(value: string): LiveStatusTypeEnum {
17
+ const lowerValue = value.toLowerCase();
18
+ switch (lowerValue) {
19
+ case 'operating':
20
+ return LiveStatusTypeEnum.OPERATING;
21
+ case 'down':
22
+ return LiveStatusTypeEnum.DOWN;
23
+ case 'closed':
24
+ return LiveStatusTypeEnum.CLOSED;
25
+ case 'refurbishment':
26
+ return LiveStatusTypeEnum.REFURBISHMENT;
27
+ }
28
+ throw new Error('Unknown LiveStatusType value: ' + value);
29
+ }
30
+
31
+ export enum ReturnTimeStateEnum {
32
+ "AVAILABLE" = 'AVAILABLE',
33
+ "TEMP_FULL" = 'TEMP_FULL',
34
+ "FINISHED" = 'FINISHED',
35
+ }
36
+
37
+ /** State of return time availability */
38
+ export type ReturnTimeState = keyof typeof ReturnTimeStateEnum;
39
+
40
+ // Function to convert string to ReturnTimeStateEnum
41
+ export function StringToReturnTimeState(value: string): ReturnTimeStateEnum {
42
+ const lowerValue = value.toLowerCase();
43
+ switch (lowerValue) {
44
+ case 'available':
45
+ return ReturnTimeStateEnum.AVAILABLE;
46
+ case 'temp_full':
47
+ return ReturnTimeStateEnum.TEMP_FULL;
48
+ case 'finished':
49
+ return ReturnTimeStateEnum.FINISHED;
50
+ }
51
+ throw new Error('Unknown ReturnTimeState value: ' + value);
52
+ }
53
+
54
+ export enum BoardingGroupStateEnum {
55
+ "AVAILABLE" = 'AVAILABLE',
56
+ "PAUSED" = 'PAUSED',
57
+ "CLOSED" = 'CLOSED',
58
+ }
59
+
60
+ /** State of boarding group availability */
61
+ export type BoardingGroupState = keyof typeof BoardingGroupStateEnum;
62
+
63
+ // Function to convert string to BoardingGroupStateEnum
64
+ export function StringToBoardingGroupState(value: string): BoardingGroupStateEnum {
65
+ const lowerValue = value.toLowerCase();
66
+ switch (lowerValue) {
67
+ case 'available':
68
+ return BoardingGroupStateEnum.AVAILABLE;
69
+ case 'paused':
70
+ return BoardingGroupStateEnum.PAUSED;
71
+ case 'closed':
72
+ return BoardingGroupStateEnum.CLOSED;
73
+ }
74
+ throw new Error('Unknown BoardingGroupState value: ' + value);
75
+ }
76
+
77
+ export enum QueueTypeEnum {
78
+ "STANDBY" = 'STANDBY',
79
+ "SINGLE_RIDER" = 'SINGLE_RIDER',
80
+ "RETURN_TIME" = 'RETURN_TIME',
81
+ "PAID_RETURN_TIME" = 'PAID_RETURN_TIME',
82
+ "BOARDING_GROUP" = 'BOARDING_GROUP',
83
+ "PAID_STANDBY" = 'PAID_STANDBY',
84
+ }
85
+
86
+ /** Types of queues that an attraction may have */
87
+ export type QueueType = keyof typeof QueueTypeEnum;
88
+
89
+ // Function to convert string to QueueTypeEnum
90
+ export function StringToQueueType(value: string): QueueTypeEnum {
91
+ const lowerValue = value.toLowerCase();
92
+ switch (lowerValue) {
93
+ case 'standby':
94
+ return QueueTypeEnum.STANDBY;
95
+ case 'single_rider':
96
+ return QueueTypeEnum.SINGLE_RIDER;
97
+ case 'return_time':
98
+ return QueueTypeEnum.RETURN_TIME;
99
+ case 'paid_return_time':
100
+ return QueueTypeEnum.PAID_RETURN_TIME;
101
+ case 'boarding_group':
102
+ return QueueTypeEnum.BOARDING_GROUP;
103
+ case 'paid_standby':
104
+ return QueueTypeEnum.PAID_STANDBY;
105
+ }
106
+ throw new Error('Unknown QueueType value: ' + value);
107
+ }
108
+
109
+ export type LiveQueue = {
110
+
111
+ /** Standard queue type for most attractions. Wait in line for attraction, no additional cost. */
112
+ STANDBY?: {
113
+
114
+ /** Current standby wait time in minutes */
115
+ waitTime?: number;
116
+ };
117
+
118
+ /** Single Rider queue type for attractions that offer it. Usually a shorter wait time, but you may be separated from your party. No additional cost. */
119
+ SINGLE_RIDER?: {
120
+
121
+ /** Current single rider wait time in minutes */
122
+ waitTime: number | null;
123
+ };
124
+
125
+ /** Return Time queue type for attractions that offer it. You get a return time to come back and ride the attraction later, instead of waiting in a physical line. No additional cost. */
126
+ RETURN_TIME?: {
127
+
128
+ /** State of return time availability */
129
+ state: ReturnTimeState;
130
+
131
+ /** Start time of return window */
132
+ returnStart: string | null;
133
+
134
+ /** End time of return window */
135
+ returnEnd: string | null;
136
+ };
137
+
138
+ /** Paid Return Time queue type for attractions that offer it. You pay an additional cost to get a return time to come back and ride the attraction later, instead of waiting in a physical line. */
139
+ PAID_RETURN_TIME?: {
140
+
141
+ /** State of return time availability */
142
+ state: ReturnTimeState;
143
+
144
+ /** Start time of return window */
145
+ returnStart: string | null;
146
+
147
+ /** End time of return window */
148
+ returnEnd: string | null;
149
+
150
+ /** Price information for paid return time */
151
+ price: PriceData;
152
+ };
153
+
154
+ /** Boarding Group queue type for attractions that offer it. You get allocated a boarding group number and wait until your group is called. No additional cost. */
155
+ BOARDING_GROUP?: {
156
+
157
+ /** State of boarding group availability */
158
+ allocationStatus: BoardingGroupState;
159
+
160
+ /** Current boarding group start number */
161
+ currentGroupStart: number | null;
162
+
163
+ /** Current boarding group end number */
164
+ currentGroupEnd: number | null;
165
+
166
+ /** Next boarding group allocation time */
167
+ nextAllocationTime: string | null;
168
+
169
+ /** Estimated wait time in minutes */
170
+ estimatedWait: number | null;
171
+ };
172
+
173
+ /** Paid Standby queue type for attractions that offer it. You pay an additional cost to use a separate standby line, usually with a shorter wait time. */
174
+ PAID_STANDBY?: {
175
+
176
+ /** Current paid standby wait time in minutes */
177
+ waitTime: number | null;
178
+ };
179
+ }
180
+
181
+ /** Time entry for shows or attraction operating hours */
182
+ export type LiveTimeSlot = {
183
+
184
+ /** Type of time entry */
185
+ type: string;
186
+
187
+ /** Start time */
188
+ startTime?: string | null;
189
+
190
+ /** End time */
191
+ endTime?: string | null;
192
+ }
193
+
194
+ /** Dining availability information for restaurants */
195
+ export type DiningAvailability = {
196
+
197
+ /** Available party size */
198
+ partySize?: number | null;
199
+
200
+ /** Current wait time in minutes */
201
+ waitTime?: number | null;
202
+ }
203
+
204
+ export type LiveData = {
205
+
206
+ /** Entity identifier */
207
+ id: string;
208
+
209
+ /** Current operating status of the entity */
210
+ status?: LiveStatusType;
211
+
212
+ /** Current queue information for entities with queues (e.g. attractions) */
213
+ queue?: LiveQueue;
214
+
215
+ /** Array of showtime entries for entities that have scheduled showtimes (e.g. shows) */
216
+ showtimes?: LiveTimeSlot[];
217
+
218
+ /** Array of operating hours entries for entities that have specific operating hours (e.g. parks, restaurants) */
219
+ operatingHours?: LiveTimeSlot[];
220
+
221
+ /** Array of dining availability entries for entities that have dining options (e.g. restaurants) */
222
+ diningAvailability?: DiningAvailability[];
223
+ }
224
+
225
+
226
+ // Runtime Schema Registration
227
+ import { registerTypeSchema } from "../type_register.js";
228
+
229
+ registerTypeSchema("LiveStatusType", {
230
+ "type": "string",
231
+ "enum": [
232
+ "OPERATING",
233
+ "DOWN",
234
+ "CLOSED",
235
+ "REFURBISHMENT"
236
+ ],
237
+ "description": "Current operating status of an entity"
238
+ });
239
+
240
+ registerTypeSchema("ReturnTimeState", {
241
+ "type": "string",
242
+ "enum": [
243
+ "AVAILABLE",
244
+ "TEMP_FULL",
245
+ "FINISHED"
246
+ ],
247
+ "description": "State of return time availability"
248
+ });
249
+
250
+ registerTypeSchema("BoardingGroupState", {
251
+ "type": "string",
252
+ "enum": [
253
+ "AVAILABLE",
254
+ "PAUSED",
255
+ "CLOSED"
256
+ ],
257
+ "description": "State of boarding group availability"
258
+ });
259
+
260
+ registerTypeSchema("QueueType", {
261
+ "type": "string",
262
+ "enum": [
263
+ "STANDBY",
264
+ "SINGLE_RIDER",
265
+ "RETURN_TIME",
266
+ "PAID_RETURN_TIME",
267
+ "BOARDING_GROUP",
268
+ "PAID_STANDBY"
269
+ ],
270
+ "description": "Types of queues that an attraction may have"
271
+ });
272
+
273
+ registerTypeSchema("LiveQueue", {
274
+ "type": "object",
275
+ "properties": {
276
+ "STANDBY": {
277
+ "type": "object",
278
+ "properties": {
279
+ "waitTime": {
280
+ "type": "number",
281
+ "description": "Current standby wait time in minutes"
282
+ }
283
+ },
284
+ "description": "Standard queue type for most attractions. Wait in line for attraction, no additional cost."
285
+ },
286
+ "SINGLE_RIDER": {
287
+ "type": "object",
288
+ "required": [
289
+ "waitTime"
290
+ ],
291
+ "properties": {
292
+ "waitTime": {
293
+ "type": "number",
294
+ "nullable": true,
295
+ "description": "Current single rider wait time in minutes"
296
+ }
297
+ },
298
+ "description": "Single Rider queue type for attractions that offer it. Usually a shorter wait time, but you may be separated from your party. No additional cost."
299
+ },
300
+ "RETURN_TIME": {
301
+ "type": "object",
302
+ "required": [
303
+ "state",
304
+ "returnStart",
305
+ "returnEnd"
306
+ ],
307
+ "properties": {
308
+ "state": {
309
+ "$ref": "#/properties/ReturnTimeState",
310
+ "description": "State of return time availability"
311
+ },
312
+ "returnStart": {
313
+ "type": "string",
314
+ "format": "date-time",
315
+ "nullable": true,
316
+ "description": "Start time of return window"
317
+ },
318
+ "returnEnd": {
319
+ "type": "string",
320
+ "format": "date-time",
321
+ "nullable": true,
322
+ "description": "End time of return window"
323
+ }
324
+ },
325
+ "description": "Return Time queue type for attractions that offer it. You get a return time to come back and ride the attraction later, instead of waiting in a physical line. No additional cost."
326
+ },
327
+ "PAID_RETURN_TIME": {
328
+ "type": "object",
329
+ "required": [
330
+ "state",
331
+ "returnStart",
332
+ "returnEnd",
333
+ "price"
334
+ ],
335
+ "properties": {
336
+ "state": {
337
+ "$ref": "#/properties/ReturnTimeState",
338
+ "description": "State of return time availability"
339
+ },
340
+ "returnStart": {
341
+ "type": "string",
342
+ "format": "date-time",
343
+ "nullable": true,
344
+ "description": "Start time of return window"
345
+ },
346
+ "returnEnd": {
347
+ "type": "string",
348
+ "format": "date-time",
349
+ "nullable": true,
350
+ "description": "End time of return window"
351
+ },
352
+ "price": {
353
+ "$ref": "#/properties/PriceData",
354
+ "description": "Price information for paid return time"
355
+ }
356
+ },
357
+ "description": "Paid Return Time queue type for attractions that offer it. You pay an additional cost to get a return time to come back and ride the attraction later, instead of waiting in a physical line."
358
+ },
359
+ "BOARDING_GROUP": {
360
+ "type": "object",
361
+ "required": [
362
+ "allocationStatus",
363
+ "currentGroupStart",
364
+ "currentGroupEnd",
365
+ "nextAllocationTime",
366
+ "estimatedWait"
367
+ ],
368
+ "properties": {
369
+ "allocationStatus": {
370
+ "$ref": "#/properties/BoardingGroupState",
371
+ "description": "State of boarding group availability"
372
+ },
373
+ "currentGroupStart": {
374
+ "type": "number",
375
+ "nullable": true,
376
+ "description": "Current boarding group start number"
377
+ },
378
+ "currentGroupEnd": {
379
+ "type": "number",
380
+ "nullable": true,
381
+ "description": "Current boarding group end number"
382
+ },
383
+ "nextAllocationTime": {
384
+ "type": "string",
385
+ "format": "date-time",
386
+ "nullable": true,
387
+ "description": "Next boarding group allocation time"
388
+ },
389
+ "estimatedWait": {
390
+ "type": "number",
391
+ "nullable": true,
392
+ "description": "Estimated wait time in minutes"
393
+ }
394
+ },
395
+ "description": "Boarding Group queue type for attractions that offer it. You get allocated a boarding group number and wait until your group is called. No additional cost."
396
+ },
397
+ "PAID_STANDBY": {
398
+ "type": "object",
399
+ "required": [
400
+ "waitTime"
401
+ ],
402
+ "properties": {
403
+ "waitTime": {
404
+ "type": "number",
405
+ "nullable": true,
406
+ "description": "Current paid standby wait time in minutes"
407
+ }
408
+ },
409
+ "description": "Paid Standby queue type for attractions that offer it. You pay an additional cost to use a separate standby line, usually with a shorter wait time."
410
+ }
411
+ }
412
+ });
413
+
414
+ registerTypeSchema("LiveTimeSlot", {
415
+ "type": "object",
416
+ "required": [
417
+ "type"
418
+ ],
419
+ "properties": {
420
+ "type": {
421
+ "type": "string",
422
+ "description": "Type of time entry"
423
+ },
424
+ "startTime": {
425
+ "type": "string",
426
+ "format": "date-time",
427
+ "nullable": true,
428
+ "description": "Start time"
429
+ },
430
+ "endTime": {
431
+ "type": "string",
432
+ "format": "date-time",
433
+ "nullable": true,
434
+ "description": "End time"
435
+ }
436
+ },
437
+ "description": "Time entry for shows or attraction operating hours"
438
+ });
439
+
440
+ registerTypeSchema("DiningAvailability", {
441
+ "type": "object",
442
+ "properties": {
443
+ "partySize": {
444
+ "type": "number",
445
+ "nullable": true,
446
+ "description": "Available party size"
447
+ },
448
+ "waitTime": {
449
+ "type": "number",
450
+ "nullable": true,
451
+ "description": "Current wait time in minutes"
452
+ }
453
+ },
454
+ "description": "Dining availability information for restaurants"
455
+ });
456
+
457
+ registerTypeSchema("LiveData", {
458
+ "type": "object",
459
+ "required": [
460
+ "id"
461
+ ],
462
+ "properties": {
463
+ "id": {
464
+ "type": "string",
465
+ "description": "Entity identifier"
466
+ },
467
+ "status": {
468
+ "$ref": "#/properties/LiveStatusType",
469
+ "description": "Current operating status of the entity"
470
+ },
471
+ "queue": {
472
+ "$ref": "#/properties/LiveQueue",
473
+ "description": "Current queue information for entities with queues (e.g. attractions)"
474
+ },
475
+ "showtimes": {
476
+ "type": "array",
477
+ "items": {
478
+ "$ref": "#/properties/LiveTimeSlot"
479
+ },
480
+ "description": "Array of showtime entries for entities that have scheduled showtimes (e.g. shows)"
481
+ },
482
+ "operatingHours": {
483
+ "type": "array",
484
+ "items": {
485
+ "$ref": "#/properties/LiveTimeSlot"
486
+ },
487
+ "description": "Array of operating hours entries for entities that have specific operating hours (e.g. parks, restaurants)"
488
+ },
489
+ "diningAvailability": {
490
+ "type": "array",
491
+ "items": {
492
+ "$ref": "#/properties/DiningAvailability"
493
+ },
494
+ "description": "Array of dining availability entries for entities that have dining options (e.g. restaurants)"
495
+ }
496
+ }
497
+ });
498
+
@@ -0,0 +1,77 @@
1
+ // THIS FILE IS GENERATED - DO NOT EDIT DIRECTLY
2
+
3
+ export enum CurrencyTypesEnum {
4
+ "USD" = 'USD',
5
+ "EUR" = 'EUR',
6
+ "GBP" = 'GBP',
7
+ "JPY" = 'JPY',
8
+ }
9
+
10
+ /** Currently supported currency codes by ThemeParks.wiki */
11
+ export type CurrencyTypes = keyof typeof CurrencyTypesEnum;
12
+
13
+ // Function to convert string to CurrencyTypesEnum
14
+ export function StringToCurrencyTypes(value: string): CurrencyTypesEnum {
15
+ const lowerValue = value.toLowerCase();
16
+ switch (lowerValue) {
17
+ case 'usd':
18
+ return CurrencyTypesEnum.USD;
19
+ case 'eur':
20
+ return CurrencyTypesEnum.EUR;
21
+ case 'gbp':
22
+ return CurrencyTypesEnum.GBP;
23
+ case 'jpy':
24
+ return CurrencyTypesEnum.JPY;
25
+ }
26
+ throw new Error('Unknown CurrencyTypes value: ' + value);
27
+ }
28
+
29
+ export type PriceData = {
30
+
31
+ /** Numerical price amount. Always in the lowest denomination (e.g. cents for USD) */
32
+ amount: number;
33
+
34
+ /** Currency code */
35
+ currency: CurrencyTypes;
36
+
37
+ /** Formatted price string in human-readable format. E.g. $12.00 */
38
+ formatted?: string;
39
+ }
40
+
41
+
42
+ // Runtime Schema Registration
43
+ import { registerTypeSchema } from "../type_register.js";
44
+
45
+ registerTypeSchema("CurrencyTypes", {
46
+ "type": "string",
47
+ "enum": [
48
+ "USD",
49
+ "EUR",
50
+ "GBP",
51
+ "JPY"
52
+ ],
53
+ "description": "Currently supported currency codes by ThemeParks.wiki"
54
+ });
55
+
56
+ registerTypeSchema("PriceData", {
57
+ "type": "object",
58
+ "required": [
59
+ "amount",
60
+ "currency"
61
+ ],
62
+ "properties": {
63
+ "amount": {
64
+ "type": "number",
65
+ "description": "Numerical price amount. Always in the lowest denomination (e.g. cents for USD)"
66
+ },
67
+ "currency": {
68
+ "$ref": "#/properties/CurrencyTypes",
69
+ "description": "Currency code"
70
+ },
71
+ "formatted": {
72
+ "type": "string",
73
+ "description": "Formatted price string in human-readable format. E.g. $12.00"
74
+ }
75
+ }
76
+ });
77
+
@@ -0,0 +1,137 @@
1
+ // THIS FILE IS GENERATED - DO NOT EDIT DIRECTLY
2
+
3
+ export enum ScheduleTypeEnum {
4
+ "OPERATING" = 'OPERATING',
5
+ "TICKETED_EVENT" = 'TICKETED_EVENT',
6
+ "PRIVATE_EVENT" = 'PRIVATE_EVENT',
7
+ "EXTRA_HOURS" = 'EXTRA_HOURS',
8
+ "INFO" = 'INFO',
9
+ }
10
+
11
+ /** Types of schedule entries for parks */
12
+ export type ScheduleType = keyof typeof ScheduleTypeEnum;
13
+
14
+ // Function to convert string to ScheduleTypeEnum
15
+ export function StringToScheduleType(value: string): ScheduleTypeEnum {
16
+ const lowerValue = value.toLowerCase();
17
+ switch (lowerValue) {
18
+ case 'operating':
19
+ return ScheduleTypeEnum.OPERATING;
20
+ case 'ticketed_event':
21
+ return ScheduleTypeEnum.TICKETED_EVENT;
22
+ case 'private_event':
23
+ return ScheduleTypeEnum.PRIVATE_EVENT;
24
+ case 'extra_hours':
25
+ return ScheduleTypeEnum.EXTRA_HOURS;
26
+ case 'info':
27
+ return ScheduleTypeEnum.INFO;
28
+ }
29
+ throw new Error('Unknown ScheduleType value: ' + value);
30
+ }
31
+
32
+ /** Represents a single schedule entry */
33
+ export type ScheduleEntry = {
34
+
35
+ /** The date of the schedule entry, YYYY-MM-DD format */
36
+ date: string;
37
+
38
+ /** Type of schedule entry e.g. OPERATING, EXTRA_HOURS, etc. */
39
+ type: ScheduleType;
40
+
41
+ /** Optional description of the schedule entry */
42
+ description?: string;
43
+
44
+ /** Opening time for this schedule entry */
45
+ openingTime: string;
46
+
47
+ /** Closing time for this schedule entry */
48
+ closingTime: string;
49
+ }
50
+
51
+ /** Represents the schedule for a specific park entity */
52
+ export type EntitySchedule = {
53
+
54
+ /** Identifier of the park entity this schedule belongs to */
55
+ id: string;
56
+
57
+ /** Array of schedule entries for the park */
58
+ schedule: ScheduleEntry[];
59
+ }
60
+
61
+
62
+ // Runtime Schema Registration
63
+ import { registerTypeSchema } from "../type_register.js";
64
+
65
+ registerTypeSchema("ScheduleType", {
66
+ "type": "string",
67
+ "enum": [
68
+ "OPERATING",
69
+ "TICKETED_EVENT",
70
+ "PRIVATE_EVENT",
71
+ "EXTRA_HOURS",
72
+ "INFO"
73
+ ],
74
+ "description": "Types of schedule entries for parks"
75
+ });
76
+
77
+ registerTypeSchema("ScheduleEntry", {
78
+ "type": "object",
79
+ "required": [
80
+ "date",
81
+ "type",
82
+ "openingTime",
83
+ "closingTime"
84
+ ],
85
+ "properties": {
86
+ "date": {
87
+ "type": "string",
88
+ "description": "The date of the schedule entry, YYYY-MM-DD format",
89
+ "format": "date",
90
+ "example": "1992-04-12"
91
+ },
92
+ "type": {
93
+ "$ref": "#/properties/ScheduleType",
94
+ "description": "Type of schedule entry e.g. OPERATING, EXTRA_HOURS, etc."
95
+ },
96
+ "description": {
97
+ "type": "string",
98
+ "description": "Optional description of the schedule entry"
99
+ },
100
+ "openingTime": {
101
+ "type": "string",
102
+ "format": "date-time",
103
+ "description": "Opening time for this schedule entry",
104
+ "example": "1992-04-12T09:00:00-07:00"
105
+ },
106
+ "closingTime": {
107
+ "type": "string",
108
+ "format": "date-time",
109
+ "description": "Closing time for this schedule entry",
110
+ "example": "1992-04-12T17:00:00-07:00"
111
+ }
112
+ },
113
+ "description": "Represents a single schedule entry"
114
+ });
115
+
116
+ registerTypeSchema("EntitySchedule", {
117
+ "type": "object",
118
+ "required": [
119
+ "id",
120
+ "schedule"
121
+ ],
122
+ "properties": {
123
+ "id": {
124
+ "type": "string",
125
+ "description": "Identifier of the park entity this schedule belongs to"
126
+ },
127
+ "schedule": {
128
+ "type": "array",
129
+ "items": {
130
+ "$ref": "#/properties/ScheduleEntry"
131
+ },
132
+ "description": "Array of schedule entries for the park"
133
+ }
134
+ },
135
+ "description": "Represents the schedule for a specific park entity"
136
+ });
137
+