tickera-angular-components 0.0.1-dev.11 → 0.0.1-dev.111

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.
package/index.d.ts CHANGED
@@ -1,12 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, EnvironmentProviders, WritableSignal, EventEmitter, Injector, Type, OnInit, OnDestroy, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { InjectionToken, EnvironmentProviders, WritableSignal, Signal, EventEmitter, OnChanges, OnDestroy, SimpleChanges, Injector, Type, OnInit, ElementRef, AfterViewInit } from '@angular/core';
3
+ export { TippyDirective } from '@ngneat/helipopper';
4
+ export * from '@ngneat/helipopper/config';
3
5
  import { TranslocoLoader, TranslocoService } from '@jsverse/transloco';
4
6
  import * as rxjs from 'rxjs';
5
7
  import { Observable, Subject } from 'rxjs';
8
+ import { ShapeConfig, Shape } from 'konva/lib/Shape';
9
+ import { Context } from 'konva/lib/Context';
6
10
  import { ValidatorFn, FormGroup, FormBuilder, ControlValueAccessor, NgControl, Validator, AbstractControl, FormControl } from '@angular/forms';
7
11
  import { HttpClient, HttpInterceptorFn } from '@angular/common/http';
12
+ import { Stage } from 'konva/lib/Stage';
8
13
  import { Toolbar, Editor } from 'ngx-editor';
9
- import { Router } from '@angular/router';
14
+ import { Router, ActivatedRoute } from '@angular/router';
15
+ import { StageComponent } from 'ng2-konva';
16
+ import * as tickera_angular_components from 'tickera-angular-components';
10
17
 
11
18
  interface TickeraComponentsConfig {
12
19
  apiUrl: string;
@@ -14,6 +21,7 @@ interface TickeraComponentsConfig {
14
21
  defaultLang?: string;
15
22
  availableLangs?: string[];
16
23
  }
24
+
17
25
  declare const TICKERA_COMPONENTS_CONFIG: InjectionToken<TickeraComponentsConfig>;
18
26
  declare function provideTickeraComponents(config: TickeraComponentsConfig): EnvironmentProviders;
19
27
 
@@ -33,15 +41,6 @@ declare const ALERT_ICONS: {
33
41
  info: string;
34
42
  };
35
43
 
36
- declare const BUTTON_VARIANT_CLASSES: Record<string, string>;
37
- declare const BASE_BUTTON_CLASSES = "btn";
38
- declare const BUTTON_SIZES_CLASSES: Record<string, string>;
39
-
40
- declare const FORM_ERROR_MESSAGES: Record<string, string>;
41
-
42
- declare const BASE_INPUT_CLASSES: string;
43
- declare const ERROR_INPUT_CLASSES: string;
44
-
45
44
  declare const ADMIN_API_ROUTES: {
46
45
  FIND_ALL: string;
47
46
  CREATE: string;
@@ -65,10 +64,10 @@ declare const COUNTRY_API_ENDPOINTS: {
65
64
  delete: (id: number) => string;
66
65
  };
67
66
 
68
- declare const STATE_API_ENDPOINTS: {
67
+ declare const CUSTOMERS_API_ROUTES: {
69
68
  findAll: string;
70
69
  create: string;
71
- findById: (id: number) => string;
70
+ findOne: (id: number) => string;
72
71
  update: (id: number) => string;
73
72
  delete: (id: number) => string;
74
73
  };
@@ -79,6 +78,7 @@ declare const PERFORMANCES_API_ROUTES: {
79
78
  createBulk: string;
80
79
  findOneById: (id: number) => string;
81
80
  findOneBookingData: (id: number) => string;
81
+ findOneBookingDataAdmin: (id: number) => string;
82
82
  update: (id: number) => string;
83
83
  delete: (id: number) => string;
84
84
  deleteMany: string;
@@ -90,12 +90,49 @@ declare const PERFORMANCES_API_ROUTES: {
90
90
  publicAvailablePerformances: string;
91
91
  };
92
92
 
93
+ declare const PRICE_ZONES_API_ROUTES: {
94
+ FIND_ALL: string;
95
+ CREATE: string;
96
+ findOneById: (id: number) => string;
97
+ update: (id: number) => string;
98
+ delete: (id: number) => string;
99
+ updateElements: (id: number) => string;
100
+ duplicate: (id: number) => string;
101
+ };
102
+
103
+ declare const PRODUCT_CATEGORIES_API_ROUTES: {
104
+ FIND_ALL: string;
105
+ CREATE: string;
106
+ findById: (id: number) => string;
107
+ update: (id: number) => string;
108
+ delete: (id: number) => string;
109
+ };
110
+
111
+ declare const PRODUCT_TAGS_API_ROUTES: {
112
+ FIND_ALL: string;
113
+ CREATE: string;
114
+ findById: (id: number) => string;
115
+ update: (id: number) => string;
116
+ delete: (id: number) => string;
117
+ };
118
+
119
+ declare const PRODUCT_TYPES_API_ROUTES: {
120
+ FIND_ALL: string;
121
+ CREATE: string;
122
+ findById: (id: number) => string;
123
+ update: (id: number) => string;
124
+ delete: (id: number) => string;
125
+ };
126
+
93
127
  declare const PRODUCTS_API_ROUTES: {
94
128
  FIND_ALL: string;
95
129
  CREATE: string;
96
130
  findOneById: (id: number) => string;
97
131
  update: (id: number) => string;
98
132
  delete: (id: number) => string;
133
+ fetchImages: (id: number) => string;
134
+ uploadImages: (id: number) => string;
135
+ deleteOneImage: (productId: number, imageId: number) => string;
99
136
  };
100
137
 
101
138
  declare const SHOWS_API_ROUTES: {
@@ -110,22 +147,12 @@ declare const SHOWS_API_ROUTES: {
110
147
  publicAvailablePerformances: string;
111
148
  };
112
149
 
113
- declare const CUSTOMERS_API_ROUTES: {
150
+ declare const STATE_API_ENDPOINTS: {
114
151
  findAll: string;
115
152
  create: string;
116
- findOne: (id: number) => string;
117
- update: (id: number) => string;
118
- delete: (id: number) => string;
119
- };
120
-
121
- declare const PRICE_ZONES_API_ROUTES: {
122
- FIND_ALL: string;
123
- CREATE: string;
124
- findOneById: (id: number) => string;
153
+ findById: (id: number) => string;
125
154
  update: (id: number) => string;
126
155
  delete: (id: number) => string;
127
- updateElements: (id: number) => string;
128
- duplicate: (id: number) => string;
129
156
  };
130
157
 
131
158
  declare const VENUES_API_ROUTES: {
@@ -139,162 +166,27 @@ declare const VENUES_API_ROUTES: {
139
166
  deleteOneImage: (venueId: number, imageId: number) => string;
140
167
  };
141
168
 
142
- declare enum FileType {
143
- IMAGE = "image",
144
- PDF = "pdf",
145
- EXCEL = "excel",
146
- WORD = "word",
147
- TEXT = "text",
148
- DEFAULT = "default"
149
- }
150
-
151
- declare enum CouponApplicability {
152
- GENERAL = "GENERAL",
153
- CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
154
- MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
155
- SHOWS = "SHOWS",
156
- PERFORMANCES = "PERFORMANCES"
157
- }
158
-
159
- declare enum CouponDiscountType {
160
- PERCENTAGE = "PERCENTAGE",
161
- FIXED = "FIXED"
162
- }
163
-
164
- declare enum CorporateBondStatus {
165
- ACTIVE = "ACTIVE",
166
- INACTIVE = "INACTIVE",
167
- EXPIRED = "EXPIRED"
168
- }
169
-
170
- declare enum PerformanceStatus {
171
- ACTIVE = "active",
172
- CANCELLED = "cancelled",
173
- FINISHED = "finished",
174
- POSTPONED = "postponed"
175
- }
176
-
177
- declare enum PerformanceTicketStatus {
178
- AVAILABLE = "available",
179
- RESERVED = "reserved",
180
- SOLD = "sold",
181
- BLOCKED = "blocked"
182
- }
183
-
184
- declare enum RoomMapElementOrientation {
185
- TOP = "top",
186
- RIGHT = "right",
187
- BOTTOM = "bottom",
188
- LEFT = "left",
189
- CENTER = "center"
190
- }
191
-
192
- declare enum RoomMapElementType {
193
- SEAT_BLOCK = "seat_block",
194
- TABLE = "table",
195
- ZONE = "zone",
196
- EXIT = "exit",
197
- STAGE = "stage",
198
- PRODUCTION_AREA = "production_area",
199
- UNAVAILABLE_SPACE = "unavailable_space",
200
- STAIR = "stair",
201
- HALLWAY = "hallway"
202
- }
203
-
204
- declare enum GiftBondStatus {
205
- ACTIVE = "ACTIVE",
206
- REDEEMED = "REDEEMED",
207
- EXPIRED = "EXPIRED",
208
- INACTIVE = "INACTIVE"
209
- }
210
-
211
- declare enum OrderItemType {
212
- TICKET = "TICKET",
213
- PRODUCT = "PRODUCT"
214
- }
215
-
216
- declare enum OrderStatus {
217
- ON_HOLD = "on-hold",
218
- PENDING_PAYMENT = "pending-payment",
219
- PROCESSING = "processing",
220
- COMPLETED = "completed",
221
- FAILED = "failed",
222
- CANCELLED = "cancelled",
223
- REFUNDED = "refunded"
224
- }
225
-
226
- interface RoomMapPosition {
227
- x: number;
228
- y: number;
229
- }
230
-
231
- interface RoomMapSize {
232
- width: number;
233
- height: number;
234
- }
235
-
236
- interface RoomMapBaseElement {
237
- id: string;
238
- type: RoomMapElementType;
239
- position: RoomMapPosition;
240
- size: RoomMapSize;
241
- rotation: number;
242
- name?: string;
243
- isLocked: boolean;
244
- isVisible: boolean;
245
- zIndex: number;
246
- }
247
-
248
- interface RoomMapExitElement extends RoomMapBaseElement {
249
- type: RoomMapElementType.EXIT;
250
- exitName?: string;
251
- exitType: 'emergency' | 'regular';
252
- width: number;
253
- }
254
-
255
- interface RoomMapProductionAreaElement extends RoomMapBaseElement {
256
- type: RoomMapElementType.PRODUCTION_AREA;
257
- areaName?: string;
258
- areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
259
- }
260
-
261
- interface RoomMapSeatElement extends RoomMapBaseElement {
262
- type: RoomMapElementType.SEAT_BLOCK;
263
- seatNumber?: string;
264
- isAvailable: boolean;
265
- priceCategory?: string;
266
- }
267
-
268
- interface RoomMapStageElement extends RoomMapBaseElement {
269
- type: RoomMapElementType.STAGE;
270
- stageName?: string;
271
- orientation: RoomMapElementOrientation;
272
- isMainStage: boolean;
273
- }
274
-
275
- interface RoomMapTableElement extends RoomMapBaseElement {
276
- type: RoomMapElementType.TABLE;
277
- tableNumber?: string;
278
- capacity: number;
279
- shape: 'round' | 'rectangular' | 'square';
280
- }
281
-
282
- interface RoomMapUnavailableElement extends RoomMapBaseElement {
283
- type: RoomMapElementType.UNAVAILABLE_SPACE;
284
- reason?: string;
285
- }
169
+ declare const VIP_CARDS_API_ROUTES: {
170
+ findAll: string;
171
+ findOne: (id: number) => string;
172
+ activateAdmin: string;
173
+ rechargeAdmin: (id: number) => string;
174
+ updateStatus: (id: number) => string;
175
+ updateTerms: (id: number) => string;
176
+ transactions: (id: number) => string;
177
+ findMy: string;
178
+ activate: string;
179
+ recharge: string;
180
+ };
286
181
 
287
- interface RoomMapZoneElement extends RoomMapBaseElement {
288
- type: RoomMapElementType.ZONE;
289
- zoneName: string;
290
- zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
291
- color: string;
292
- capacity?: number;
293
- }
182
+ declare const BUTTON_VARIANT_CLASSES: Record<string, string>;
183
+ declare const BASE_BUTTON_CLASSES = "btn";
184
+ declare const BUTTON_SIZES_CLASSES: Record<string, string>;
294
185
 
295
- type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
186
+ declare const FORM_ERROR_MESSAGES: Record<string, string>;
296
187
 
297
- type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
188
+ declare const BASE_INPUT_CLASSES: string;
189
+ declare const ERROR_INPUT_CLASSES: string;
298
190
 
299
191
  interface SelectOption {
300
192
  value: any;
@@ -302,7 +194,7 @@ interface SelectOption {
302
194
  disabled?: boolean;
303
195
  }
304
196
 
305
- interface Admin {
197
+ interface Admin extends Auditable {
306
198
  id: number;
307
199
  username: string;
308
200
  email: string;
@@ -318,16 +210,17 @@ interface Admin {
318
210
  reset_password_expires: Date;
319
211
  email_verified_at: Date;
320
212
  last_login: Date;
321
- created_at: Date;
322
- updated_at: Date;
323
- deleted_at: Date;
324
213
  }
325
214
 
326
215
  interface Auditable {
327
216
  created_at: Date;
328
217
  updated_at: Date;
218
+ deleted_at?: Date | null;
329
219
  is_published?: boolean;
330
220
  published_at?: Date;
221
+ published_by?: number;
222
+ deleted_by?: number;
223
+ deleted_by_admin?: Admin;
331
224
  created_by_admin?: Admin;
332
225
  updated_by_admin?: Admin;
333
226
  published_by_admin?: Admin;
@@ -370,20 +263,20 @@ interface AdminsResponse {
370
263
  }
371
264
 
372
265
  interface Country {
373
- id: string;
266
+ id: number;
374
267
  name: string;
375
268
  iso2: string;
376
269
  }
377
270
 
378
271
  interface State {
379
- id: string;
272
+ id: number;
380
273
  name: string;
381
274
  country_id: number;
382
275
  country?: Country;
383
276
  }
384
277
 
385
278
  interface City {
386
- id: string;
279
+ id: number;
387
280
  name: string;
388
281
  search_text: string | null;
389
282
  state_id: number;
@@ -422,27 +315,21 @@ interface Venue extends Auditable {
422
315
  images: VenueImage[];
423
316
  }
424
317
 
425
- interface HallFloor {
318
+ interface HallFloor extends Auditable {
426
319
  id: number;
427
320
  name: string;
428
321
  level: number;
429
322
  max_capacity: number;
430
323
  description: string;
431
324
  hall_id: number;
432
- created_at: Date;
433
- updated_at: Date;
434
- deleted_at: Date | null;
435
325
  }
436
326
 
437
- interface Hall {
327
+ interface Hall extends Auditable {
438
328
  id: number;
439
329
  name: string;
440
330
  venue_id: number;
441
331
  venue?: Venue;
442
332
  hall_floors?: HallFloor[];
443
- created_at: Date;
444
- updated_at: Date;
445
- deleted_at: Date | null;
446
333
  }
447
334
 
448
335
  interface CountryResponse {
@@ -496,7 +383,7 @@ interface FetchCitiesParams {
496
383
  search?: string;
497
384
  }
498
385
 
499
- interface Customer {
386
+ interface Customer extends Auditable {
500
387
  username: string;
501
388
  email: string;
502
389
  mobile: string;
@@ -527,9 +414,6 @@ interface Customer {
527
414
  membership_expires_at: Date | null;
528
415
  id: number;
529
416
  is_active: boolean;
530
- created_at: Date;
531
- updated_at: Date;
532
- deleted_at: Date | null;
533
417
  }
534
418
 
535
419
  interface CustomerResponse {
@@ -547,76 +431,355 @@ interface CustomersResponse {
547
431
  message: string;
548
432
  }
549
433
 
550
- type ShowType = 'play' | 'musical' | 'concert' | 'dance' | 'opera' | 'comedy' | 'other';
434
+ interface BreadcrumbStep {
435
+ label: string;
436
+ href?: string;
437
+ icon?: string;
438
+ }
551
439
 
552
- interface ShowImage {
553
- id: number;
554
- path: string;
555
- full_url: string;
556
- original_name: string;
557
- extension: string;
558
- size: number;
559
- mime_type: string;
560
- width: number;
561
- height: number;
562
- show_id: number;
563
- created_at: Date;
440
+ declare enum OrderItemType {
441
+ TICKET = "TICKET",
442
+ PRODUCT = "PRODUCT",
443
+ GIFT_BOND = "GIFT_BOND",
444
+ CORPORATE_BOND = "CORPORATE_BOND"
564
445
  }
565
446
 
566
- interface Show extends Auditable {
567
- id: number;
568
- title: string;
569
- slug: string;
570
- description: string;
571
- duration_minutes: number | null;
572
- type_of_costs: string | null;
573
- service_fee: number | null;
574
- show_type: ShowType | null;
575
- pulep: string | null;
576
- minimum_age: number | null;
577
- show_category_id: number | null;
578
- default_room_map_id: number | null;
579
- published_at?: Date;
580
- is_published: boolean;
581
- images: ShowImage[];
582
- terms_and_conditions: string;
583
- performances_quantity?: number;
447
+ declare enum OrderStatus {
448
+ ON_HOLD = "on-hold",
449
+ PENDING_PAYMENT = "pending-payment",
450
+ PROCESSING = "processing",
451
+ COMPLETED = "completed",
452
+ FAILED = "failed",
453
+ CANCELLED = "cancelled",
454
+ REFUNDED = "refunded"
584
455
  }
585
456
 
586
- interface ShowResponse {
457
+ declare enum CreatorType {
458
+ ADMIN = "admin",
459
+ CUSTOMER = "customer"
460
+ }
461
+
462
+ declare enum PaymentMethod {
463
+ PAYROLL = "payroll",
464
+ CASH = "cash",
465
+ DATAFONO = "datafono",
466
+ INTERNAL_EXCHANGE = "internal_exchange",
467
+ CLIENT_EXCHANGE = "client_exchange",
468
+ MERCADO_PAGO = "mercado_pago"
469
+ }
470
+
471
+ declare enum RoomMapElementType {
472
+ SEAT_BLOCK = "seat_block",
473
+ TABLE = "table",
474
+ ZONE = "zone",
475
+ EXIT = "exit",
476
+ STAGE = "stage",
477
+ PRODUCTION_AREA = "production_area",
478
+ UNAVAILABLE_SPACE = "unavailable_space",
479
+ STAIR = "stair",
480
+ HALLWAY = "hallway"
481
+ }
482
+
483
+ interface RoomMapPosition {
484
+ x: number;
485
+ y: number;
486
+ }
487
+
488
+ interface RoomMapSize {
489
+ width: number;
490
+ height: number;
491
+ }
492
+
493
+ interface RoomMapBaseElement {
494
+ id: string;
495
+ type: RoomMapElementType;
496
+ position: RoomMapPosition;
497
+ size: RoomMapSize;
498
+ rotation: number;
499
+ name?: string;
500
+ isLocked: boolean;
501
+ isVisible: boolean;
502
+ zIndex: number;
503
+ }
504
+
505
+ interface RoomMapExitElement extends RoomMapBaseElement {
506
+ type: RoomMapElementType.EXIT;
507
+ exitName?: string;
508
+ exitType: 'emergency' | 'regular';
509
+ width: number;
510
+ }
511
+
512
+ interface RoomMapProductionAreaElement extends RoomMapBaseElement {
513
+ type: RoomMapElementType.PRODUCTION_AREA;
514
+ areaName?: string;
515
+ areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
516
+ }
517
+
518
+ interface RoomMapSeatElement extends RoomMapBaseElement {
519
+ type: RoomMapElementType.SEAT_BLOCK;
520
+ seatNumber?: string;
521
+ isAvailable: boolean;
522
+ priceCategory?: string;
523
+ }
524
+
525
+ declare enum RoomMapElementOrientation {
526
+ TOP = "top",
527
+ RIGHT = "right",
528
+ BOTTOM = "bottom",
529
+ LEFT = "left",
530
+ CENTER = "center"
531
+ }
532
+
533
+ interface RoomMapStageElement extends RoomMapBaseElement {
534
+ type: RoomMapElementType.STAGE;
535
+ stageName?: string;
536
+ orientation: RoomMapElementOrientation;
537
+ isMainStage: boolean;
538
+ }
539
+
540
+ interface RoomMapTableElement extends RoomMapBaseElement {
541
+ type: RoomMapElementType.TABLE;
542
+ tableNumber?: string;
543
+ capacity: number;
544
+ shape: 'round' | 'rectangular' | 'square';
545
+ }
546
+
547
+ interface RoomMapUnavailableElement extends RoomMapBaseElement {
548
+ type: RoomMapElementType.UNAVAILABLE_SPACE;
549
+ reason?: string;
550
+ }
551
+
552
+ interface RoomMapZoneElement extends RoomMapBaseElement {
553
+ type: RoomMapElementType.ZONE;
554
+ zoneName: string;
555
+ zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
556
+ color: string;
557
+ capacity?: number;
558
+ }
559
+
560
+ type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
561
+
562
+ type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
563
+
564
+ declare enum ShowType {
565
+ PLAY = "PLAY",
566
+ CONCERT = "CONCERT",
567
+ STAND_UP_COMEDY = "STAND_UP_COMEDY",
568
+ OPERA = "OPERA",
569
+ MUSICAL = "MUSICAL",
570
+ DANCE = "DANCE",
571
+ SPORT = "SPORT",
572
+ OTHER = "OTHER",
573
+ DEFAULT = "DEFAULT"
574
+ }
575
+
576
+ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
577
+
578
+ type FeedbackModalType = 'loading' | 'success' | 'info' | 'warning' | 'error';
579
+
580
+ type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
581
+
582
+ type BadgeColor = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
583
+
584
+ type BreadcrumbTheme = 'light' | 'dark';
585
+
586
+ type TextFontSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
587
+
588
+ interface FeedbackModalElement {
589
+ id: string;
590
+ type: FeedbackModalType;
591
+ title: string;
592
+ isOpen: WritableSignal<boolean>;
593
+ message?: string;
594
+ showHeader?: boolean;
595
+ showCloseButton?: boolean;
596
+ showTitle?: boolean;
597
+ closeModal?: void;
598
+ }
599
+
600
+ declare enum FileType {
601
+ IMAGE = "image",
602
+ PDF = "pdf",
603
+ EXCEL = "excel",
604
+ WORD = "word",
605
+ TEXT = "text",
606
+ DEFAULT = "default"
607
+ }
608
+
609
+ declare enum CouponApplicability {
610
+ GENERAL = "GENERAL",
611
+ CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
612
+ MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
613
+ SHOWS = "SHOWS",
614
+ PERFORMANCES = "PERFORMANCES"
615
+ }
616
+
617
+ declare enum CouponDiscountType {
618
+ PERCENTAGE = "PERCENTAGE",
619
+ FIXED = "FIXED"
620
+ }
621
+
622
+ declare enum CouponStatus {
623
+ ACTIVE = "ACTIVE",
624
+ INACTIVE = "INACTIVE",
625
+ EXPIRED = "EXPIRED",
626
+ CONSUMED = "CONSUMED"
627
+ }
628
+
629
+ declare enum CorporateBondStatus {
630
+ ACTIVE = "ACTIVE",
631
+ INACTIVE = "INACTIVE",
632
+ EXPIRED = "EXPIRED",
633
+ CONSUMED = "CONSUMED"
634
+ }
635
+
636
+ declare enum PerformanceStatus {
637
+ SCHEDULED = "scheduled",
638
+ OPEN = "open",
639
+ CLOSED = "closed",
640
+ CANCELLED = "cancelled",
641
+ COMPLETED = "completed",
642
+ POSTPONED = "postponed"
643
+ }
644
+
645
+ declare enum PerformanceTicketStatus {
646
+ AVAILABLE = "available",
647
+ RESERVED = "reserved",
648
+ SOLD = "sold",
649
+ BLOCKED = "blocked"
650
+ }
651
+
652
+ declare enum GiftBondStatus {
653
+ ACTIVE = "ACTIVE",
654
+ INACTIVE = "INACTIVE"
655
+ }
656
+
657
+ declare enum GiftBondPurchaseStatus {
658
+ AVAILABLE = "AVAILABLE",
659
+ REDEEMED = "REDEEMED",
660
+ EXPIRED = "EXPIRED",
661
+ CANCELLED = "CANCELLED"
662
+ }
663
+
664
+ declare enum TransactionStatus {
665
+ PENDING = "PENDING",
666
+ APPROVED = "APPROVED",
667
+ REJECTED = "REJECTED",
668
+ ERROR = "ERROR"
669
+ }
670
+
671
+ declare enum VipCardStatus {
672
+ ACTIVE = "ACTIVE",
673
+ INACTIVE = "INACTIVE",
674
+ EXPIRED = "EXPIRED"
675
+ }
676
+
677
+ declare enum VipTransactionType {
678
+ INITIAL_RECHARGE = "INITIAL_RECHARGE",
679
+ RECHARGE = "RECHARGE",
680
+ PURCHASE_PAYMENT = "PURCHASE_PAYMENT"
681
+ }
682
+
683
+ interface FetchProductCategoriesParams {
684
+ name?: string;
685
+ slug?: string;
686
+ page?: number;
687
+ limit?: number;
688
+ search?: string;
689
+ }
690
+
691
+ interface ProductCategory extends Auditable {
692
+ id: number;
693
+ name: string;
694
+ slug: string;
695
+ }
696
+
697
+ interface ProductCategoriesResponse {
587
698
  statusCode: number;
588
- data: Show;
699
+ data: {
700
+ categories: ProductCategory[];
701
+ total: number;
702
+ };
589
703
  message: string;
590
704
  }
591
705
 
592
- interface ShowsResponseInterface {
706
+ interface ProductCategoryResponse {
707
+ statusCode: number;
708
+ data: ProductCategory;
709
+ message: string;
710
+ }
711
+
712
+ interface FetchProductTagsParams {
713
+ name?: string;
714
+ slug?: string;
715
+ page?: number;
716
+ limit?: number;
717
+ search?: string;
718
+ }
719
+
720
+ interface ProductTag extends Auditable {
721
+ id: number;
722
+ name: string;
723
+ slug: string;
724
+ }
725
+
726
+ interface ProductTagResponse {
727
+ statusCode: number;
728
+ data: ProductTag;
729
+ message: string;
730
+ }
731
+
732
+ interface ProductTagsResponse {
593
733
  statusCode: number;
594
734
  data: {
595
- shows: Show[];
735
+ tags: ProductTag[];
596
736
  total: number;
597
737
  };
598
738
  message: string;
599
739
  }
600
740
 
601
- interface FetchShowsParams {
741
+ interface FetchProductTypesParams {
742
+ name?: string;
743
+ slug?: string;
602
744
  page?: number;
603
745
  limit?: number;
604
746
  search?: string;
605
- date?: string;
606
747
  }
607
748
 
608
- interface PriceZone {
749
+ interface ProductType extends Auditable {
609
750
  id: number;
610
751
  name: string;
611
- color: string;
612
- normal_price: number | null;
613
- is_active: boolean;
614
- elements: any[];
615
- room_map_id: number | null;
752
+ slug: string;
753
+ }
754
+
755
+ interface ProductTypeResponse {
756
+ statusCode: number;
757
+ data: ProductType;
758
+ message: string;
759
+ }
760
+
761
+ interface ProductTypesResponse {
762
+ statusCode: number;
763
+ data: {
764
+ types: ProductType[];
765
+ total: number;
766
+ };
767
+ message: string;
768
+ }
769
+
770
+ interface ProductImage {
771
+ id: number;
772
+ path: string;
773
+ full_url: string;
774
+ original_name: string;
775
+ extension: string;
776
+ size: number;
777
+ mime_type: string;
778
+ width: number;
779
+ height: number;
780
+ product_id: number;
781
+ product: Product;
616
782
  created_at: Date;
617
- updated_at: Date;
618
- created_by: number;
619
- updated_by: number;
620
783
  }
621
784
 
622
785
  interface Product extends Auditable {
@@ -629,12 +792,35 @@ interface Product extends Auditable {
629
792
  slug: string;
630
793
  sku?: string;
631
794
  is_limited_edition: boolean;
632
- is_active: boolean;
633
795
  deleted_at: Date | null;
634
- categories?: any[];
635
- tags?: any[];
636
- types?: any[];
637
- images?: any[];
796
+ categories?: ProductCategory[];
797
+ tags?: ProductTag[];
798
+ types?: ProductType[];
799
+ images?: ProductImage[];
800
+ }
801
+
802
+ interface ShowImage {
803
+ id: number;
804
+ path: string;
805
+ full_url: string;
806
+ original_name: string;
807
+ extension: string;
808
+ size: number;
809
+ mime_type: string;
810
+ width: number;
811
+ height: number;
812
+ show_id: number;
813
+ created_at: Date;
814
+ }
815
+
816
+ interface PriceZone extends Auditable {
817
+ id: number;
818
+ name: string;
819
+ color: string;
820
+ normal_price: number | null;
821
+ is_active: boolean;
822
+ elements: any[];
823
+ room_map_id: number | null;
638
824
  }
639
825
 
640
826
  interface NumerationConfig {
@@ -672,7 +858,7 @@ interface RoomMapElementTemplate {
672
858
  price_zone?: PriceZone;
673
859
  }
674
860
 
675
- interface RoomMap {
861
+ interface RoomMap extends Auditable {
676
862
  id: number;
677
863
  name: string;
678
864
  canvas_settings: {
@@ -688,8 +874,6 @@ interface RoomMap {
688
874
  related_product_ids: number[];
689
875
  products?: Product[];
690
876
  venue_name?: string;
691
- created_at: Date;
692
- updated_at: Date;
693
877
  }
694
878
 
695
879
  interface RoomMapCanvasConfiguration {
@@ -731,7 +915,7 @@ interface ElementPropertiesTab {
731
915
  elements_access: string[];
732
916
  }
733
917
 
734
- interface Performance {
918
+ interface Performance extends Auditable {
735
919
  id: number;
736
920
  start_time: Date | string;
737
921
  end_time: Date | string;
@@ -741,26 +925,83 @@ interface Performance {
741
925
  show?: Show;
742
926
  room_map: RoomMap;
743
927
  room_map_id: number;
744
- created_at: Date;
745
- updated_at: Date;
928
+ performance_tickets?: PerformanceTicket[];
929
+ can_delete?: boolean;
930
+ can_cancel?: boolean;
931
+ can_modify?: boolean;
932
+ can_reserve?: boolean;
746
933
  }
747
934
 
748
- interface PerformanceResponse {
935
+ interface ShowCategory extends Auditable {
936
+ id: number;
937
+ name: string;
938
+ slug: string;
939
+ }
940
+
941
+ interface ShowCategoriesResponse {
749
942
  statusCode: number;
750
- data: Performance;
943
+ data: {
944
+ categories: ShowCategory[];
945
+ total: number;
946
+ };
751
947
  message: string;
752
948
  }
753
949
 
754
- interface PerformancesResponseInterface {
950
+ interface ShowCategoryResponse {
951
+ statusCode: number;
952
+ data: ShowCategory;
953
+ message: string;
954
+ }
955
+
956
+ interface ShowGender extends Auditable {
957
+ id: number;
958
+ name: string;
959
+ slug: string;
960
+ }
961
+
962
+ interface ShowGenderResponse {
963
+ statusCode: number;
964
+ data: ShowGender;
965
+ message: string;
966
+ }
967
+
968
+ interface ShowGendersResponse {
755
969
  statusCode: number;
756
970
  data: {
757
- performances: Performance[];
971
+ genders: ShowGender[];
758
972
  total: number;
759
973
  };
760
974
  message: string;
761
975
  }
762
976
 
763
- interface OrderItem {
977
+ interface Show extends Auditable {
978
+ id: number;
979
+ title: string;
980
+ slug: string;
981
+ description: string;
982
+ duration_minutes: number | null;
983
+ type_of_costs: string | null;
984
+ service_fee: number | null;
985
+ show_type: ShowType | null;
986
+ pulep: string | null;
987
+ minimum_age: number | null;
988
+ show_gender?: ShowGender | null;
989
+ show_gender_id: number | null;
990
+ show_category?: ShowCategory | null;
991
+ show_category_id: number | null;
992
+ default_room_map?: RoomMap | null;
993
+ default_room_map_id: number | null;
994
+ is_published: boolean;
995
+ images: ShowImage[];
996
+ terms_and_conditions: string | null;
997
+ performances_quantity?: number;
998
+ performances?: Performance[];
999
+ next_performance?: Performance;
1000
+ days_of_week?: number[];
1001
+ unique_start_times?: string[];
1002
+ }
1003
+
1004
+ interface OrderItem extends Auditable {
764
1005
  id: number;
765
1006
  order: Order;
766
1007
  item_type: OrderItemType;
@@ -773,26 +1014,21 @@ interface OrderItem {
773
1014
  ticket_id?: number;
774
1015
  ticket_uuid?: string;
775
1016
  item: Show | Product;
776
- created_at: Date;
777
- updated_at: Date;
778
- created_by: number;
779
- updated_by: number;
780
1017
  }
781
1018
 
782
1019
  interface Coupon extends Auditable {
783
1020
  id: number;
784
1021
  code: string;
1022
+ billing_code: string;
785
1023
  description?: string;
786
1024
  discount_type: CouponDiscountType;
787
- discount_type_string?: string;
788
1025
  discount_value: number;
789
- discount_value_string?: string;
790
1026
  start_date: Date | null;
791
1027
  end_date: Date | null;
792
1028
  max_uses: number | null;
793
- max_uses_per_user?: number | null;
1029
+ max_uses_per_customer?: number | null;
794
1030
  uses_count: number;
795
- is_active: boolean;
1031
+ status: CouponStatus;
796
1032
  applicability_type: CouponApplicability;
797
1033
  applicable_customer_emails: string[] | null;
798
1034
  applicable_membership_types: string[] | null;
@@ -800,9 +1036,11 @@ interface Coupon extends Auditable {
800
1036
  applicable_performance_ids?: number[];
801
1037
  applicable_price_zone_ids?: number[];
802
1038
  applies_to_service_fee?: boolean;
1039
+ orders?: Order[];
1040
+ customers?: Customer[];
803
1041
  }
804
1042
 
805
- interface CorporateBond {
1043
+ interface CorporateBond extends Auditable {
806
1044
  id: number;
807
1045
  name: string;
808
1046
  description?: string;
@@ -812,11 +1050,13 @@ interface CorporateBond {
812
1050
  quantity: number;
813
1051
  status: CorporateBondStatus;
814
1052
  value: number;
1053
+ purchase_value: number;
1054
+ buyer_customer_id: number | null;
1055
+ buyer: Customer | null;
1056
+ order_id: number | null;
1057
+ order: Order | null;
1058
+ payment_method?: PaymentMethod;
815
1059
  codes: CorporateBondCode[];
816
- created_at: Date;
817
- updated_at: Date;
818
- created_by: number;
819
- updated_by: number;
820
1060
  }
821
1061
 
822
1062
  interface CorporateBondCode {
@@ -846,38 +1086,168 @@ interface ValidateCorporateBondResponse {
846
1086
  statusCode: number;
847
1087
  }
848
1088
 
849
- interface Order {
1089
+ interface GiftBondImage {
1090
+ id: number;
1091
+ path: string;
1092
+ full_url: string;
1093
+ original_name: string;
1094
+ extension: string;
1095
+ size: number;
1096
+ mime_type: string;
1097
+ width: number;
1098
+ height: number;
1099
+ is_featured: boolean;
1100
+ gift_bond_id: number;
1101
+ gift_bond: GiftBond;
1102
+ created_at: Date;
1103
+ }
1104
+
1105
+ interface GiftBond extends Auditable {
1106
+ id: number;
1107
+ name: string;
1108
+ description?: string;
1109
+ slug?: string;
1110
+ status: GiftBondStatus;
1111
+ value: number;
1112
+ page_content?: string;
1113
+ images?: GiftBondImage[];
1114
+ }
1115
+
1116
+ interface GiftBondResponse {
1117
+ statusCode: number;
1118
+ data: GiftBond;
1119
+ message: string;
1120
+ }
1121
+
1122
+ interface GiftBondsResponse {
1123
+ statusCode: number;
1124
+ data: {
1125
+ gift_bonds: GiftBond[];
1126
+ total: number;
1127
+ };
1128
+ message: string;
1129
+ }
1130
+
1131
+ interface GiftBondPurchase extends Auditable {
1132
+ id: number;
1133
+ code: string;
1134
+ original_value: number;
1135
+ used_value: number | null;
1136
+ lost_value: number | null;
1137
+ beneficiary_email: string;
1138
+ beneficiary: Customer | null;
1139
+ personalized_message: string | null;
1140
+ status: GiftBondPurchaseStatus;
1141
+ purchased_at: string;
1142
+ expires_at: string;
1143
+ redeemed_at: string | null;
1144
+ gift_bond?: GiftBond;
1145
+ gift_bond_id: number;
1146
+ buyer_customer_id: number;
1147
+ buyer: Customer;
1148
+ order: Order | null;
1149
+ order_id: number;
1150
+ redemption_order_id: number | null;
1151
+ redemption_order: Order | null;
1152
+ }
1153
+
1154
+ interface ValidateGiftBondResponse {
1155
+ data: {
1156
+ valid: boolean;
1157
+ message: string;
1158
+ code: string;
1159
+ bond?: GiftBondPurchase;
1160
+ };
1161
+ statusCode: number;
1162
+ message: string;
1163
+ }
1164
+
1165
+ interface GiftBondPurchaseResponse {
1166
+ statusCode: number;
1167
+ data: GiftBondPurchase;
1168
+ message: string;
1169
+ }
1170
+
1171
+ interface GiftBondPurchasesResponse {
1172
+ statusCode: number;
1173
+ data: {
1174
+ items: GiftBondPurchase[];
1175
+ total: number;
1176
+ };
1177
+ message: string;
1178
+ }
1179
+
1180
+ interface Transaction extends Auditable {
1181
+ id: number;
1182
+ status: TransactionStatus;
1183
+ amount: number;
1184
+ currency: string;
1185
+ payment_gateway: string;
1186
+ gateway_transaction_id: string;
1187
+ gateway_response: any;
1188
+ order: Order;
1189
+ }
1190
+
1191
+ interface OrderBillingInfo {
1192
+ first_name: string;
1193
+ last_name: string;
1194
+ email: string;
1195
+ mobile: string;
1196
+ document_type: string;
1197
+ document_number: string;
1198
+ address: string;
1199
+ city_id: number;
1200
+ postal_code?: string;
1201
+ address_notes?: string;
1202
+ payment_method: PaymentMethod;
1203
+ terms_accepted: boolean;
1204
+ data_processing_accepted: boolean;
1205
+ comments?: string;
1206
+ products?: Array<{
1207
+ id: number;
1208
+ quantity: number;
1209
+ }>;
1210
+ }
1211
+
1212
+ interface Order extends Auditable {
850
1213
  id: number;
851
1214
  uuid: string;
852
- customer: Customer;
1215
+ customer_id: number | null;
1216
+ customer: Customer | null;
853
1217
  customer_name?: string;
854
1218
  customer_email?: string;
855
1219
  order_items: OrderItem[];
856
1220
  order_items_quantity?: number;
857
- discount_amount: number;
1221
+ transactions: Transaction[];
1222
+ sub_total: number;
1223
+ discount_amount: number | null;
858
1224
  total: number;
1225
+ sub_total_discounted: number | null;
859
1226
  total_discounted: number;
860
- sub_total: number;
861
- sub_total_discounted: number;
862
- service_fee: number;
863
- service_fee_discounted: number;
864
- coupon: Coupon;
865
- coupon_snapshot: Record<string, any>;
866
- corporate_bond_code: CorporateBondCode;
867
- corporate_bond_code_snapshot: Record<string, any>;
1227
+ service_fee: number | null;
1228
+ service_fee_discounted: number | null;
1229
+ coupon: Coupon | null;
1230
+ coupon_snapshot: Record<string, any> | null;
868
1231
  status: OrderStatus;
869
- show_snapshot: Record<string, any>;
870
- performance_snapshot: Record<string, any>;
871
- created_at: Date;
872
- updated_at: Date;
873
- payment_method: string;
1232
+ show_snapshot: Record<string, any> | null;
1233
+ performance_snapshot: Record<string, any> | null;
1234
+ payment_method: PaymentMethod | null;
874
1235
  terms_accepted: boolean;
875
1236
  data_processing_accepted: boolean;
876
- billing_info: Partial<Customer>;
877
- comments: string;
878
- address_notes: string;
1237
+ billing_info: OrderBillingInfo | null;
1238
+ corporate_bond_code_snapshot: Record<string, any> | null;
1239
+ gift_bond_snapshot: Record<string, any> | null;
1240
+ corporate_bond_code: CorporateBondCode | null;
1241
+ corporate_bond_code_id: number | null;
1242
+ gift_bond: GiftBond | null;
1243
+ gift_bond_id: number | null;
1244
+ comments: string | null;
1245
+ address_notes: string | null;
1246
+ mercado_pago_preference_id: string;
879
1247
  created_by: number;
1248
+ created_by_type: CreatorType;
880
1249
  updated_by: number;
1250
+ updated_by_type: CreatorType;
881
1251
  }
882
1252
 
883
1253
  interface OrderResponse {
@@ -895,7 +1265,15 @@ interface OrdersResponse {
895
1265
  message: string;
896
1266
  }
897
1267
 
898
- interface PerformanceTicket {
1268
+ interface MercadoPagoPreference {
1269
+ data: {
1270
+ id: string;
1271
+ init_point: string;
1272
+ sandbox_init_point: string;
1273
+ };
1274
+ }
1275
+
1276
+ interface PerformanceTicket extends Auditable {
899
1277
  id: number;
900
1278
  uuid: string;
901
1279
  is_accessible: boolean;
@@ -915,8 +1293,133 @@ interface PerformanceTicket {
915
1293
  checked_in_at: Date | null;
916
1294
  order_items: OrderItem[];
917
1295
  element_qty?: number;
918
- created_at: Date;
919
- updated_at: Date;
1296
+ }
1297
+
1298
+ interface TicketMapSeatPosition {
1299
+ rowIndex: number;
1300
+ colIndex: number;
1301
+ seatLabel: string;
1302
+ }
1303
+
1304
+ interface TicketMapTableChairPosition {
1305
+ index: number;
1306
+ angle: number;
1307
+ x: number;
1308
+ y: number;
1309
+ }
1310
+
1311
+ interface ElementRenderData {
1312
+ elementId: number;
1313
+ hallFloorId: number | null;
1314
+ type: RoomMapElementType;
1315
+ shapeConfig: Record<string, any>;
1316
+ tickets: PerformanceTicket[];
1317
+ ticketByNumeration: Map<string, PerformanceTicket>;
1318
+ elementName: string;
1319
+ seatPositions?: TicketMapSeatPosition[][];
1320
+ chairPositions?: TicketMapTableChairPosition[];
1321
+ zoneCapacity?: number;
1322
+ }
1323
+
1324
+ interface TicketMapTooltipData {
1325
+ x: number;
1326
+ y: number;
1327
+ elementName: string;
1328
+ seatLabel: string | null;
1329
+ price: number;
1330
+ status: PerformanceTicketStatus;
1331
+ statusLabel: string;
1332
+ statusColor: string;
1333
+ isSelected: boolean;
1334
+ ticketId: number;
1335
+ }
1336
+
1337
+ interface TicketMapZoneQuantityState {
1338
+ elementId: number;
1339
+ selectedCount: number;
1340
+ maxCapacity: number;
1341
+ }
1342
+
1343
+ interface ReservePerformanceDto {
1344
+ ticket_ids: number[];
1345
+ products?: {
1346
+ id: number;
1347
+ quantity: number;
1348
+ }[];
1349
+ coupon_code?: string;
1350
+ gift_bond_code?: string;
1351
+ corporate_bond_code?: string;
1352
+ payment_method?: string;
1353
+ billing?: {
1354
+ first_name: string;
1355
+ last_name: string;
1356
+ email: string;
1357
+ mobile: string;
1358
+ document_type: string;
1359
+ document_number: string;
1360
+ address: string;
1361
+ city_id: number;
1362
+ postal_code?: string;
1363
+ address_notes?: string;
1364
+ terms_accepted: boolean;
1365
+ data_processing_accepted: boolean;
1366
+ comments?: string;
1367
+ };
1368
+ }
1369
+
1370
+ interface TicketMapZoomConfig {
1371
+ minZoom: number;
1372
+ maxZoom: number;
1373
+ zoomStep: number;
1374
+ scaleBy: number;
1375
+ }
1376
+
1377
+ interface HallFloorOption {
1378
+ id: number | null;
1379
+ name: string;
1380
+ }
1381
+
1382
+ declare enum SelectedDiscountCardType {
1383
+ COUPON = "COUPON",
1384
+ CORPORATE_BOND = "CORPORATE_BOND",
1385
+ GIFT_BOND = "GIFT_BOND"
1386
+ }
1387
+
1388
+ interface SelectedDiscountCard {
1389
+ name: string;
1390
+ type: SelectedDiscountCardType;
1391
+ value: number;
1392
+ }
1393
+
1394
+ interface FetchShowsParams {
1395
+ page?: number;
1396
+ limit?: number;
1397
+ search?: string;
1398
+ date?: string;
1399
+ }
1400
+
1401
+ interface ShowResponse {
1402
+ statusCode: number;
1403
+ data: Show;
1404
+ message: string;
1405
+ }
1406
+
1407
+ interface ShowsResponseInterface {
1408
+ statusCode: number;
1409
+ data: {
1410
+ shows: Show[];
1411
+ total: number;
1412
+ };
1413
+ message: string;
1414
+ }
1415
+
1416
+ interface FindAllPerformancesParams {
1417
+ roomMapId?: number;
1418
+ showId?: number;
1419
+ hallId?: number;
1420
+ page?: number;
1421
+ search?: string;
1422
+ limit?: number;
920
1423
  }
921
1424
 
922
1425
  interface PerformanceBookingDataResponse {
@@ -930,6 +1433,12 @@ interface PerformanceBookingDataResponse {
930
1433
  message: string;
931
1434
  }
932
1435
 
1436
+ interface PerformanceResponse {
1437
+ statusCode: number;
1438
+ data: Performance;
1439
+ message: string;
1440
+ }
1441
+
933
1442
  interface PerformanceAvailableDay {
934
1443
  date: string;
935
1444
  count: number;
@@ -942,6 +1451,15 @@ interface PerformancesAvailableDaysResponse {
942
1451
  message: string;
943
1452
  }
944
1453
 
1454
+ interface PerformancesResponseInterface {
1455
+ statusCode: number;
1456
+ data: {
1457
+ performances: Performance[];
1458
+ total: number;
1459
+ };
1460
+ message: string;
1461
+ }
1462
+
945
1463
  interface DailyPerformanceHall {
946
1464
  name: string | null;
947
1465
  }
@@ -1000,6 +1518,13 @@ interface ProductResponse {
1000
1518
  message: string;
1001
1519
  }
1002
1520
 
1521
+ interface ProductTaxonomy extends Auditable {
1522
+ id: number;
1523
+ name: string;
1524
+ slug: string;
1525
+ selected?: boolean;
1526
+ }
1527
+
1003
1528
  interface ProductsResponseInterface {
1004
1529
  statusCode: number;
1005
1530
  data: {
@@ -1040,71 +1565,241 @@ interface FindAllPriceZoneParams {
1040
1565
  limit?: number;
1041
1566
  }
1042
1567
 
1043
- interface GiftBond {
1568
+ interface CouponResponse {
1569
+ statusCode: number;
1570
+ data: Coupon;
1571
+ message: string;
1572
+ }
1573
+
1574
+ interface ValidateCouponResponse {
1575
+ data: {
1576
+ coupon: Coupon;
1577
+ message: string;
1578
+ };
1579
+ }
1580
+
1581
+ interface RecentOrder {
1044
1582
  id: number;
1583
+ customer_name: string;
1584
+ event: string;
1585
+ total: number;
1586
+ status: string;
1045
1587
  uuid: string;
1588
+ }
1589
+
1590
+ interface RecentRoomMap {
1591
+ id: number;
1046
1592
  name: string;
1047
- description?: string;
1048
- status: GiftBondStatus;
1049
- value: number;
1050
- customer: Customer;
1051
- customer_id: number;
1593
+ capacity: number;
1052
1594
  created_at: Date;
1053
1595
  updated_at: Date;
1054
- created_by: number;
1055
- updated_by: number;
1056
1596
  }
1057
1597
 
1058
- interface GiftBondResponse {
1059
- statusCode: number;
1060
- data: GiftBond;
1061
- message: string;
1062
- }
1598
+ interface QrTokenData {
1599
+ token: string;
1600
+ expires_at: string;
1601
+ refresh_in: number;
1602
+ }
1603
+
1604
+ interface QrTokenResponse {
1605
+ statusCode: number;
1606
+ data: QrTokenData;
1607
+ message: string;
1608
+ }
1609
+
1610
+ interface VipCategorySnapshot {
1611
+ membership_id: number;
1612
+ name: string;
1613
+ discount_percentage: number;
1614
+ service_fee_exempt: boolean;
1615
+ applicable_show_ids: number[] | null;
1616
+ excluded_show_ids: number[] | null;
1617
+ duration_days: number;
1618
+ }
1619
+ interface VipCard extends Auditable {
1620
+ id: number;
1621
+ uuid: string;
1622
+ customer: Customer;
1623
+ customer_id: number;
1624
+ membership: {
1625
+ id: number;
1626
+ name: string;
1627
+ } | null;
1628
+ membership_id: number;
1629
+ category_snapshot: VipCategorySnapshot;
1630
+ balance: number;
1631
+ status: VipCardStatus;
1632
+ activated_at: string | null;
1633
+ last_activity_at: string | null;
1634
+ expires_at: string | null;
1635
+ last_low_balance_alert_at: string | null;
1636
+ last_expiry_alert_at: string | null;
1637
+ }
1638
+
1639
+ interface VipTransaction {
1640
+ id: number;
1641
+ uuid: string;
1642
+ vip_card_id: number;
1643
+ type: VipTransactionType;
1644
+ amount: number;
1645
+ balance_before: number;
1646
+ balance_after: number;
1647
+ order: Order | null;
1648
+ order_id: number | null;
1649
+ description: string | null;
1650
+ created_at: string;
1651
+ }
1652
+
1653
+ interface VipCardResponse {
1654
+ data: VipCard;
1655
+ }
1656
+ interface VipCardsResponse {
1657
+ data: {
1658
+ vip_cards: VipCard[];
1659
+ total: number;
1660
+ };
1661
+ }
1662
+ interface VipTransactionsResponse {
1663
+ data: {
1664
+ transactions: VipTransaction[];
1665
+ total: number;
1666
+ };
1667
+ }
1668
+ interface VipOrderResponse {
1669
+ data: Order;
1670
+ }
1671
+
1672
+ declare const DOCUMENT_TYPES_OPTIONS: SelectOption[];
1673
+
1674
+ declare const PAYMENT_METHODS_OPTIONS: SelectOption[];
1675
+ declare const ORDER_STATUS_COLORS: Record<OrderStatus, {
1676
+ text: string;
1677
+ bg: string;
1678
+ }>;
1679
+ declare const ORDER_ITEM_TYPES_COLORS: Record<OrderItemType, {
1680
+ text: string;
1681
+ bg: string;
1682
+ }>;
1683
+ declare const ORDER_DISCOUNT_COLORS: Record<string, {
1684
+ text: string;
1685
+ bg: string;
1686
+ }>;
1687
+ declare const TRANSACTION_STATUS_COLORS: Record<TransactionStatus, {
1688
+ text: string;
1689
+ bg: string;
1690
+ }>;
1691
+
1692
+ declare const PERFORMANCE_TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, {
1693
+ text: string;
1694
+ bg: string;
1695
+ }>;
1696
+ declare const PERFORMANCE_STATUS_COLORS: Record<PerformanceStatus, {
1697
+ text: string;
1698
+ bg: string;
1699
+ }>;
1700
+
1701
+ declare const TICKET_MAP_LAST_TICKETS_LIMIT = 10;
1702
+ declare const TICKET_ELEMENT_TYPES: RoomMapElementType[];
1703
+ declare const DEFAULT_STAGE_CONFIG: {
1704
+ [x: string]: any;
1705
+ };
1706
+ declare const TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, string>;
1707
+ declare const TICKET_STATUS_FILLS: Record<PerformanceTicketStatus, string>;
1708
+ declare const TICKET_STATUS_LABELS: Record<PerformanceTicketStatus, string>;
1709
+ declare const TICKET_MAP_GRID_SIZE = 30;
1710
+ declare const TICKET_MAP_TITLE_HEIGHT = 30;
1711
+
1712
+ interface KonvaShapeConfig {
1713
+ config: ShapeConfig;
1714
+ layer: 'background' | 'elements' | 'foreground' | 'overlay';
1715
+ }
1716
+
1717
+ declare function drawRoundedRect(con: Context, shape: Shape, x: number, y: number, width: number, height: number, cornerRadius: number): void;
1718
+
1719
+ declare const generateExitScene: (con: Context, shape: Shape) => void;
1720
+
1721
+ declare const generateHallwayScene: (con: Context, shape: Shape) => void;
1722
+
1723
+ declare const generateProductionAreaScene: (con: Context, shape: Shape) => void;
1724
+
1725
+ declare const generateSeatBlockScene: (con: Context, shape: Shape, numerationConfig?: {
1726
+ start_row_letter: string;
1727
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1728
+ start_column_number: number;
1729
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1730
+ }) => void;
1731
+
1732
+ declare const generateStageScene: (con: Context, shape: Shape) => void;
1733
+
1734
+ declare const generateStairScene: (con: Context, shape: Shape) => void;
1063
1735
 
1064
- interface GiftBondsResponse {
1065
- statusCode: number;
1066
- data: {
1067
- gift_bonds: GiftBond[];
1068
- total: number;
1069
- };
1070
- message: string;
1071
- }
1736
+ declare const generateTableScene: (con: Context, shape: Shape) => void;
1072
1737
 
1073
- interface ValidateGiftBondResponse {
1074
- data: {
1075
- valid: boolean;
1076
- message: string;
1077
- code: string;
1078
- bond?: GiftBond;
1079
- };
1080
- statusCode: number;
1081
- message: string;
1082
- }
1738
+ declare const generateUnavailableSpaceScene: (con: Context, shape: Shape) => void;
1083
1739
 
1084
- interface CouponResponse {
1085
- statusCode: number;
1086
- data: Coupon;
1087
- message: string;
1088
- }
1740
+ declare const generateZoneScene: (con: Context, shape: Shape) => void;
1089
1741
 
1090
- interface ValidateCouponResponse {
1091
- data: {
1092
- coupon: Coupon;
1093
- message: string;
1094
- };
1095
- }
1742
+ declare const KONVA_SHAPE_MAPPINGS: Record<RoomMapElementType, KonvaShapeConfig>;
1743
+
1744
+ declare const SHOW_TYPE_COLORS: Record<ShowType, {
1745
+ bg: string;
1746
+ text: string;
1747
+ }>;
1096
1748
 
1097
1749
  declare const getCustomerFullname: (customer: Customer) => string;
1098
1750
 
1751
+ type OrderDiscountType = 'coupon' | 'corporate_bond' | 'gift_bond';
1752
+ interface OrderDiscountInfo {
1753
+ type: OrderDiscountType | null;
1754
+ code: string | null;
1755
+ name: string | null;
1756
+ value: number;
1757
+ discountType: 'percentage' | 'fixed' | null;
1758
+ icon: string;
1759
+ }
1760
+ declare function getOrderDiscount(order: Order): OrderDiscountInfo;
1761
+
1099
1762
  declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
1100
1763
 
1101
1764
  declare const transformImageToFile: (image: ShowImage | VenueImage) => UploadedFile;
1102
1765
 
1103
1766
  declare const formatCitiesResponseToSelect: (res: CitiesResponse) => {
1104
- value: string;
1767
+ value: number;
1105
1768
  label: string;
1106
1769
  }[];
1107
1770
 
1771
+ declare function tintColor(hex: string, amount?: number): string;
1772
+
1773
+ declare const drawChairIcon: (con: Context, cx: number, cy: number, size: number) => void;
1774
+
1775
+ declare const drawHappyFace: (con: Context, cx: number, cy: number, size: number) => void;
1776
+
1777
+ declare const drawWheelchairIcon: (con: Context, shape: Shape, cx: number, cy: number, size: number, fillColor?: string, strokeColor?: string) => void;
1778
+
1779
+ declare const numberToLetter: (num: number) => string;
1780
+
1781
+ declare const getItemTypeIcon: (ticket: PerformanceTicket) => string;
1782
+
1783
+ declare const generateSeatBlockTicketScene: (con: Context, shape: Shape, numerationConfig?: {
1784
+ start_row_letter: string;
1785
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1786
+ start_column_number: number;
1787
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1788
+ }, ticketStatusMap?: Map<string, PerformanceTicketStatus>) => void;
1789
+
1790
+ declare const generateTableTicketScene: (con: Context, shape: Shape, chairTicketStatuses?: PerformanceTicketStatus[], tableSeats?: RoomMapSeatState[][]) => void;
1791
+
1792
+ declare function processElementsToRenderData(elements: RoomMapElementTemplate[], tickets: PerformanceTicket[], priceZones?: {
1793
+ id: number;
1794
+ color: string;
1795
+ }[]): ElementRenderData[];
1796
+ declare function findTicketAtPosition(renderData: ElementRenderData, relX: number, relY: number): PerformanceTicket | null;
1797
+ declare function findElementAtPosition(renderDataList: ElementRenderData[], stageX: number, stageY: number): {
1798
+ element: ElementRenderData;
1799
+ relX: number;
1800
+ relY: number;
1801
+ } | null;
1802
+
1108
1803
  declare function MinTodayValidator(controlName: string): ValidatorFn;
1109
1804
  declare function EndDateGreaterThanStartValidator(startDateControlName: string, endDateControlName: string): ValidatorFn;
1110
1805
 
@@ -1135,16 +1830,6 @@ declare class ToastService {
1135
1830
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
1136
1831
  }
1137
1832
 
1138
- declare class LoadingModalService {
1139
- title: WritableSignal<string>;
1140
- isOpen: WritableSignal<boolean>;
1141
- get modalIsOpen(): WritableSignal<boolean>;
1142
- open(title?: string): void;
1143
- close(): void;
1144
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingModalService, never>;
1145
- static ɵprov: i0.ɵɵInjectableDeclaration<LoadingModalService>;
1146
- }
1147
-
1148
1833
  declare class DeleteConfirmationService {
1149
1834
  title: WritableSignal<string>;
1150
1835
  resourceName: WritableSignal<string>;
@@ -1235,7 +1920,7 @@ declare class PerformanceService {
1235
1920
  private performancesSubject;
1236
1921
  performances$: Observable<Performance[]>;
1237
1922
  constructor(apiService: ApiService);
1238
- fetchPerformances(showId?: number, search?: string): Observable<PerformancesResponseInterface>;
1923
+ fetchPerformances({ showId, roomMapId, hallId, search, page, limit, }: FindAllPerformancesParams): Observable<PerformancesResponseInterface>;
1239
1924
  fetchDailyPerformances({ show_id, search, limit, date, }: FetchDailyPerformancesParams): Observable<DailyPerformancesResponse>;
1240
1925
  loadPerformances({ showId, search }?: {
1241
1926
  showId?: number;
@@ -1243,7 +1928,7 @@ declare class PerformanceService {
1243
1928
  }): void;
1244
1929
  getCurrentPerformances(): Performance[];
1245
1930
  fetchOneById(id: number): Observable<PerformanceResponse>;
1246
- fetchOneBookingData(id: number): Observable<PerformanceBookingDataResponse>;
1931
+ fetchOneBookingData(id: number, isAdmin?: boolean): Observable<PerformanceBookingDataResponse>;
1247
1932
  fetchAvailableDays(params?: {
1248
1933
  show_id?: number;
1249
1934
  }): Observable<PerformancesAvailableDaysResponse>;
@@ -1273,25 +1958,6 @@ declare class PerformancesListEventsService {
1273
1958
  static ɵprov: i0.ɵɵInjectableDeclaration<PerformancesListEventsService>;
1274
1959
  }
1275
1960
 
1276
- declare class ProductService {
1277
- private apiService;
1278
- private productsSubject;
1279
- products$: Observable<Product[]>;
1280
- constructor(apiService: ApiService);
1281
- fetchProducts(page: number, search: string): Observable<ProductsResponseInterface>;
1282
- loadProducts({ page, search }?: {
1283
- page?: number;
1284
- search?: string;
1285
- }): void;
1286
- getCurrentProducts(): Product[];
1287
- fetchOneById(id: number): Observable<ProductResponse>;
1288
- createOne(data: Product): Observable<any>;
1289
- updateOne(id: number, data: any): Observable<ProductResponse>;
1290
- deleteOne(id: number): Observable<any>;
1291
- static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
1292
- static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
1293
- }
1294
-
1295
1961
  declare class ShowService {
1296
1962
  private apiService;
1297
1963
  private showsSubject;
@@ -1372,6 +2038,367 @@ declare class PriceZoneFormModalService {
1372
2038
  static ɵprov: i0.ɵɵInjectableDeclaration<PriceZoneFormModalService>;
1373
2039
  }
1374
2040
 
2041
+ declare class ProductCategoryService {
2042
+ private apiService;
2043
+ constructor(apiService: ApiService);
2044
+ fetchCategories({ page, search, limit, }: FetchProductCategoriesParams): Observable<ProductCategoriesResponse>;
2045
+ fetchOneById(id: number): Observable<ProductCategoryResponse>;
2046
+ createOne(data: ProductCategory): Observable<any>;
2047
+ updateOne(id: number, data: ProductCategory): Observable<ProductCategoryResponse>;
2048
+ deleteOne(id: number): Observable<any>;
2049
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductCategoryService, never>;
2050
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductCategoryService>;
2051
+ }
2052
+
2053
+ declare class ProductTagService {
2054
+ private apiService;
2055
+ constructor(apiService: ApiService);
2056
+ fetchTags({ page, search, limit }: FetchProductTagsParams): Observable<ProductTagsResponse>;
2057
+ fetchOneById(id: number): Observable<ProductTagResponse>;
2058
+ createOne(data: ProductTag): Observable<any>;
2059
+ updateOne(id: number, data: ProductTag): Observable<ProductTagResponse>;
2060
+ deleteOne(id: number): Observable<any>;
2061
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTagService, never>;
2062
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTagService>;
2063
+ }
2064
+
2065
+ declare class ProductTypeService {
2066
+ private apiService;
2067
+ constructor(apiService: ApiService);
2068
+ fetchTypes({ page, search, limit }: FetchProductTypesParams): Observable<ProductTypesResponse>;
2069
+ fetchOneById(id: number): Observable<ProductTypeResponse>;
2070
+ createOne(data: ProductType): Observable<any>;
2071
+ updateOne(id: number, data: ProductType): Observable<ProductTypeResponse>;
2072
+ deleteOne(id: number): Observable<any>;
2073
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTypeService, never>;
2074
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTypeService>;
2075
+ }
2076
+
2077
+ interface FetchProductsParams {
2078
+ page?: number;
2079
+ limit?: number;
2080
+ search?: string;
2081
+ name?: string;
2082
+ is_published?: boolean;
2083
+ category_id?: number;
2084
+ tag_id?: number;
2085
+ type_id?: number;
2086
+ ids_in?: number[];
2087
+ ids_not_in?: number[];
2088
+ }
2089
+
2090
+ declare class ProductService {
2091
+ private apiService;
2092
+ private productsSubject;
2093
+ products$: Observable<Product[]>;
2094
+ constructor(apiService: ApiService);
2095
+ fetchProducts(params: FetchProductsParams): Observable<ProductsResponseInterface>;
2096
+ loadProducts(params: FetchProductsParams): void;
2097
+ getCurrentProducts(): Product[];
2098
+ fetchOneById(id: number): Observable<ProductResponse>;
2099
+ createOne(data: Product): Observable<any>;
2100
+ updateOne(id: number, data: any): Observable<ProductResponse>;
2101
+ deleteOne(id: number): Observable<any>;
2102
+ fetchImages(id: number): Observable<{
2103
+ data: ProductImage[];
2104
+ }>;
2105
+ uploadImages(id: number, files?: FormData): Observable<{
2106
+ data: ProductImage[];
2107
+ }>;
2108
+ deleteOneImage(productId: number, imageId: number): Observable<any>;
2109
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
2110
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
2111
+ }
2112
+
2113
+ declare class BaseModalService {
2114
+ readonly isOpen: WritableSignal<boolean>;
2115
+ get modalIsOpen(): WritableSignal<boolean>;
2116
+ open(): void;
2117
+ close(): void;
2118
+ }
2119
+
2120
+ declare class FeedbackModalService {
2121
+ private _modals;
2122
+ readonly modals: i0.Signal<FeedbackModalElement[]>;
2123
+ addModal(modal: FeedbackModalElement): void;
2124
+ removeModal(id: string): void;
2125
+ removeAllModals(): void;
2126
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalService, never>;
2127
+ static ɵprov: i0.ɵɵInjectableDeclaration<FeedbackModalService>;
2128
+ }
2129
+
2130
+ declare class OrderTransactionDetailsModalService {
2131
+ readonly isOpen: WritableSignal<boolean>;
2132
+ transaction: WritableSignal<Transaction | null>;
2133
+ get modalIsOpen(): WritableSignal<boolean>;
2134
+ open(transaction: Transaction): void;
2135
+ close(): void;
2136
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalService, never>;
2137
+ static ɵprov: i0.ɵɵInjectableDeclaration<OrderTransactionDetailsModalService>;
2138
+ }
2139
+
2140
+ declare class PerformanceBookingDataService {
2141
+ private _show;
2142
+ private _performance;
2143
+ private _roomMap;
2144
+ private _hallFloors;
2145
+ private _selectedHallFloor;
2146
+ private _allRenderData;
2147
+ private _stageConfig;
2148
+ readonly show: i0.Signal<Show | null>;
2149
+ readonly hallFloors: i0.Signal<HallFloor[]>;
2150
+ readonly selectedHallFloor: i0.Signal<HallFloor | null>;
2151
+ readonly performance: i0.Signal<Performance | null>;
2152
+ readonly stageConfig: i0.Signal<{
2153
+ [x: string]: any;
2154
+ }>;
2155
+ readonly roomMap: i0.Signal<RoomMap | null>;
2156
+ readonly renderData: i0.Signal<ElementRenderData[]>;
2157
+ setPerformanceBookingData({ data }: PerformanceBookingDataResponse): void;
2158
+ setRoomMap(roomMap: RoomMap | null): void;
2159
+ setAllRenderData(data: ElementRenderData[]): void;
2160
+ setPerformance(performance: Performance | null): void;
2161
+ setShow(show: Show | null): void;
2162
+ setHallFloors(data: HallFloor[]): void;
2163
+ setSelectedHallFloor(id: number): void;
2164
+ updateStageConfig(data: {
2165
+ [x: string]: any;
2166
+ }): void;
2167
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceBookingDataService, never>;
2168
+ static ɵprov: i0.ɵɵInjectableDeclaration<PerformanceBookingDataService>;
2169
+ }
2170
+
2171
+ declare class TicketSelectionDetailsService {
2172
+ private _customerEmail;
2173
+ private _customerId;
2174
+ private _paymentMethod;
2175
+ private _billingInformation;
2176
+ readonly customerEmail: i0.Signal<string | null>;
2177
+ readonly customerId: i0.Signal<number | null>;
2178
+ readonly paymentMethod: i0.Signal<string | null>;
2179
+ readonly billingInformation: i0.Signal<Customer | null>;
2180
+ setCustomerEmail(email: string | null): void;
2181
+ setCustomerId(id: number | null): void;
2182
+ setPaymentMethod(method: string | null): void;
2183
+ setBillingInformation(values: Customer): void;
2184
+ clearSelection(): void;
2185
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDetailsService, never>;
2186
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDetailsService>;
2187
+ }
2188
+
2189
+ declare class TicketSelectionDiscountService {
2190
+ private _coupon;
2191
+ private _corporateBond;
2192
+ private _corporateBondCode;
2193
+ private _giftBond;
2194
+ private _giftBondCode;
2195
+ readonly coupon: Signal<Coupon | null>;
2196
+ readonly corporateBond: Signal<CorporateBond | null>;
2197
+ readonly corporateBondCode: Signal<string | null>;
2198
+ readonly giftBond: Signal<GiftBondPurchase | null>;
2199
+ readonly giftBondCode: Signal<string | null>;
2200
+ readonly selectedDiscount: Signal<SelectedDiscountCard | null>;
2201
+ readonly selectedDiscountType: Signal<SelectedDiscountCardType | undefined>;
2202
+ readonly selectedDiscountValue: Signal<number | undefined>;
2203
+ setCoupon(coupon: Coupon | null): void;
2204
+ setCorporateBond(corporateBond: CorporateBond | null): void;
2205
+ setCorporateBondCode(code: string | null): void;
2206
+ setGiftBond(giftBond: GiftBondPurchase | null): void;
2207
+ setGiftBondCode(code: string | null): void;
2208
+ clearSelection(): void;
2209
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDiscountService, never>;
2210
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDiscountService>;
2211
+ }
2212
+
2213
+ declare class TicketSelectionTotalsService {
2214
+ private bookingDataService;
2215
+ private selectionService;
2216
+ private selectionDiscountService;
2217
+ readonly selectedProductEntries: i0.Signal<{
2218
+ id: number;
2219
+ quantity: number;
2220
+ }[]>;
2221
+ readonly selectedProductCount: i0.Signal<number>;
2222
+ readonly productSubtotal: i0.Signal<number>;
2223
+ readonly ticketSubtotal: i0.Signal<number>;
2224
+ readonly serviceFee: i0.Signal<number>;
2225
+ subtotalValue(): number;
2226
+ totalValue(): number;
2227
+ totalDiscounted(): number | null;
2228
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionTotalsService, never>;
2229
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionTotalsService>;
2230
+ }
2231
+
2232
+ declare class TicketSelectionService {
2233
+ private bookingDataService;
2234
+ private feedbackModalService;
2235
+ private selectionDetailsService;
2236
+ private selectionDiscountService;
2237
+ private _zoneQuantities;
2238
+ private _allTickets;
2239
+ private _selectedTickets;
2240
+ private _selectedBlockedTickets;
2241
+ private _products;
2242
+ private _productQuantities;
2243
+ readonly selectedTickets: i0.Signal<PerformanceTicket[]>;
2244
+ readonly selectedBlockedTickets: i0.Signal<PerformanceTicket[]>;
2245
+ readonly selectedCount: i0.Signal<number>;
2246
+ readonly blockedSelectedCount: i0.Signal<number>;
2247
+ readonly selectedTicketIds: i0.Signal<Set<PerformanceTicket>>;
2248
+ readonly selectedBlockedTicketIds: i0.Signal<number[]>;
2249
+ readonly selectedTicketIdList: i0.Signal<number[]>;
2250
+ readonly products: i0.Signal<Product[]>;
2251
+ readonly productQuantities: i0.Signal<Map<number, number>>;
2252
+ readonly selectedProductEntries: i0.Signal<{
2253
+ id: number;
2254
+ quantity: number;
2255
+ }[]>;
2256
+ readonly selectedProductCount: i0.Signal<number>;
2257
+ readonly serviceFee: i0.Signal<number>;
2258
+ setTickets(tickets: PerformanceTicket[]): void;
2259
+ setProducts(products: Product[]): void;
2260
+ updateProductQuantity(productId: number, delta: number): void;
2261
+ getProductQuantity(productId: number): number;
2262
+ private getListByStatus;
2263
+ setSelectedTickets(tickets: PerformanceTicket[]): void;
2264
+ toggle(ticket: PerformanceTicket): void;
2265
+ select(ticket: PerformanceTicket): void;
2266
+ deselect(ticket: PerformanceTicket): void;
2267
+ clearBlockedSelection(): void;
2268
+ clearSelection(): void;
2269
+ isSelected(ticket: PerformanceTicket): boolean;
2270
+ initZoneQuantity(elementId: number, maxCapacity: number): void;
2271
+ adjustZoneQuantity(elementId: number, delta: number): void;
2272
+ getZoneTickets(elementId: number): PerformanceTicket[];
2273
+ buildTooltipData(ticket: PerformanceTicket, elementName: string, seatLabel: string | null, x: number, y: number): TicketMapTooltipData;
2274
+ buildReservePerformanceDto(paymentMethod?: string, termsAccepted?: boolean, dataProcessingAccepted?: boolean): ReservePerformanceDto;
2275
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionService, never>;
2276
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionService>;
2277
+ }
2278
+
2279
+ declare class TicketMapZoomService {
2280
+ readonly currentZoom: i0.WritableSignal<number>;
2281
+ private stage?;
2282
+ private bookingDataService;
2283
+ private readonly defaultConfig;
2284
+ constructor();
2285
+ /**
2286
+ * Set the Konva stage instance
2287
+ */
2288
+ setStage(stage: Stage): void;
2289
+ /**
2290
+ * Zoom in by one step
2291
+ */
2292
+ zoomIn(): void;
2293
+ /**
2294
+ * Zoom out by one step
2295
+ */
2296
+ zoomOut(): void;
2297
+ /**
2298
+ * Reset zoom to 100%
2299
+ */
2300
+ resetZoom(): void;
2301
+ /**
2302
+ * Get current zoom as percentage string
2303
+ */
2304
+ getZoomPercentage(): string;
2305
+ /**
2306
+ * Get current zoom value
2307
+ */
2308
+ getCurrentZoom(): number;
2309
+ /**
2310
+ * Apply zoom with center point
2311
+ */
2312
+ private applyZoom;
2313
+ /**
2314
+ * Apply zoom scale with specific center point
2315
+ */
2316
+ private applyZoomScale;
2317
+ /**
2318
+ * Handle mouse wheel zoom toward the cursor position
2319
+ */
2320
+ handleWheelZoom(deltaY: number): void;
2321
+ /**
2322
+ * Fit the content bounds to fill the stage container
2323
+ */
2324
+ fitToContainer(padding?: number): void;
2325
+ /**
2326
+ * Get current stage position
2327
+ */
2328
+ getStagePosition(): {
2329
+ x: number;
2330
+ y: number;
2331
+ };
2332
+ /**
2333
+ * Set stage position (useful for programmatic panning)
2334
+ */
2335
+ setStagePosition(position: {
2336
+ x: number;
2337
+ y: number;
2338
+ }): void;
2339
+ /**
2340
+ * Fit the stage content bounds to the container, centering and scaling
2341
+ * to show the full content with optional padding.
2342
+ */
2343
+ fitToBounds(contentBounds: {
2344
+ x: number;
2345
+ y: number;
2346
+ width: number;
2347
+ height: number;
2348
+ }, containerWidth: number, containerHeight: number, padding?: number): void;
2349
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomService, never>;
2350
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketMapZoomService>;
2351
+ }
2352
+
2353
+ declare class ConfirmationOrderModalService extends BaseModalService {
2354
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalService, never>;
2355
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationOrderModalService>;
2356
+ }
2357
+
2358
+ declare class TicketQrService {
2359
+ private apiService;
2360
+ constructor(apiService: ApiService);
2361
+ fetchQrToken(ticketUuid: string): Observable<QrTokenResponse>;
2362
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrService, never>;
2363
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrService>;
2364
+ }
2365
+
2366
+ declare class TicketQrModalService {
2367
+ isOpen: WritableSignal<boolean>;
2368
+ ticketUuid: WritableSignal<string | null>;
2369
+ ticketDescription: WritableSignal<string | null>;
2370
+ open(ticketUuid: string, description?: string): void;
2371
+ close(): void;
2372
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalService, never>;
2373
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrModalService>;
2374
+ }
2375
+
2376
+ interface VipCardsQueryParams {
2377
+ page?: number;
2378
+ limit?: number;
2379
+ status?: VipCardStatus;
2380
+ membership_id?: number;
2381
+ customer_id?: number;
2382
+ }
2383
+ declare class VipCardService {
2384
+ private apiService;
2385
+ constructor(apiService: ApiService);
2386
+ findMy(): Observable<{
2387
+ data: VipCard | null;
2388
+ }>;
2389
+ activate(data: any): Observable<VipOrderResponse>;
2390
+ recharge(data: any): Observable<VipOrderResponse>;
2391
+ fetchAll(queryParams?: VipCardsQueryParams): Observable<VipCardsResponse>;
2392
+ fetchOneById(id: number): Observable<VipCardResponse>;
2393
+ activateAdmin(data: any): Observable<VipOrderResponse>;
2394
+ rechargeAdmin(id: number, data: any): Observable<VipOrderResponse>;
2395
+ updateStatus(id: number, status: VipCardStatus): Observable<VipCardResponse>;
2396
+ updateTerms(id: number): Observable<VipCardResponse>;
2397
+ fetchTransactions(id: number, page?: number, limit?: number): Observable<VipTransactionsResponse>;
2398
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipCardService, never>;
2399
+ static ɵprov: i0.ɵɵInjectableDeclaration<VipCardService>;
2400
+ }
2401
+
1375
2402
  declare const authInterceptor: HttpInterceptorFn;
1376
2403
 
1377
2404
  declare class AppButtonComponent {
@@ -1384,10 +2411,11 @@ declare class AppButtonComponent {
1384
2411
  size: 'xs' | 'sm' | 'md' | 'lg';
1385
2412
  loadingText: string;
1386
2413
  icon: string;
2414
+ tooltip: string;
1387
2415
  handleClick(): void;
1388
2416
  get buttonClasses(): string;
1389
2417
  static ɵfac: i0.ɵɵFactoryDeclaration<AppButtonComponent, never>;
1390
- static ɵcmp: i0.ɵɵComponentDeclaration<AppButtonComponent, "app-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "text": { "alias": "text"; "required": false; }; "size": { "alias": "size"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
2418
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppButtonComponent, "app-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "text": { "alias": "text"; "required": false; }; "size": { "alias": "size"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
1391
2419
  }
1392
2420
 
1393
2421
  declare class AppLinkButtonComponent {
@@ -1401,9 +2429,10 @@ declare class AppLinkButtonComponent {
1401
2429
  queryParams: Record<string, any>;
1402
2430
  size: 'xs' | 'sm' | 'md' | 'lg';
1403
2431
  variant: 'primary' | 'secondary' | 'tertiary' | 'success' | 'transparent';
2432
+ tooltip: string;
1404
2433
  get buttonClasses(): string;
1405
2434
  static ɵfac: i0.ɵɵFactoryDeclaration<AppLinkButtonComponent, never>;
1406
- static ɵcmp: i0.ɵɵComponentDeclaration<AppLinkButtonComponent, "app-link-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "target": { "alias": "target"; "required": false; }; "text": { "alias": "text"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "route": { "alias": "route"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, never, true, never>;
2435
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppLinkButtonComponent, "app-link-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "target": { "alias": "target"; "required": false; }; "text": { "alias": "text"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "route": { "alias": "route"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, never, true, never>;
1407
2436
  }
1408
2437
 
1409
2438
  declare class AppAlertComponent {
@@ -1416,15 +2445,29 @@ declare class AppAlertComponent {
1416
2445
  static ɵcmp: i0.ɵɵComponentDeclaration<AppAlertComponent, "app-alert", never, { "type": { "alias": "type"; "required": false; }; "text": { "alias": "text"; "required": false; }; "closeable": { "alias": "closeable"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
1417
2446
  }
1418
2447
 
1419
- declare class LoadingmModalComponent {
1420
- private loadingModalService;
1421
- constructor(loadingModalService: LoadingModalService);
1422
- get isOpen(): i0.WritableSignal<boolean>;
1423
- get title(): i0.WritableSignal<string>;
2448
+ declare class FeedbackModalComponent implements OnChanges, OnDestroy {
2449
+ isOpen: WritableSignal<boolean>;
2450
+ type: FeedbackModalType;
2451
+ title: string;
2452
+ message: string;
2453
+ showHeader: boolean;
2454
+ showCloseButton: boolean;
2455
+ showTitle: boolean;
2456
+ autoClose: boolean;
2457
+ autoCloseDuration: number;
2458
+ buttonText: string;
2459
+ closed: EventEmitter<void>;
2460
+ private autoCloseTimeout;
2461
+ get defaultButtonText(): string;
2462
+ get resolvedButtonText(): string;
2463
+ get buttonVariant(): 'primary' | 'secondary';
2464
+ ngOnChanges(changes: SimpleChanges): void;
2465
+ ngOnDestroy(): void;
1424
2466
  closeModal(): void;
1425
- onCitySaved(): void;
1426
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingmModalComponent, never>;
1427
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadingmModalComponent, "loading-modal", never, {}, {}, never, never, true, never>;
2467
+ private scheduleAutoClose;
2468
+ private clearAutoClose;
2469
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalComponent, never>;
2470
+ static ɵcmp: i0.ɵɵComponentDeclaration<FeedbackModalComponent, "feedback-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "type": { "alias": "type"; "required": false; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "autoClose": { "alias": "autoClose"; "required": false; }; "autoCloseDuration": { "alias": "autoCloseDuration"; "required": false; }; "buttonText": { "alias": "buttonText"; "required": false; }; }, { "closed": "closed"; }, never, never, true, never>;
1428
2471
  }
1429
2472
 
1430
2473
  declare class DeleteConfirmationComponent {
@@ -1447,12 +2490,27 @@ declare class DeleteConfirmationComponent {
1447
2490
  declare class AppModalComponent {
1448
2491
  title: string;
1449
2492
  disableClose: boolean;
2493
+ showHeader: boolean;
2494
+ showCloseButton: boolean;
2495
+ showTitle: boolean;
1450
2496
  isOpen: WritableSignal<boolean>;
1451
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
2497
+ size: ModalSize;
1452
2498
  closeModal: EventEmitter<void>;
1453
2499
  onCloseModal(): void;
2500
+ onKeydownEscape(): void;
1454
2501
  static ɵfac: i0.ɵɵFactoryDeclaration<AppModalComponent, never>;
1455
- static ɵcmp: i0.ɵɵComponentDeclaration<AppModalComponent, "app-modal", never, { "title": { "alias": "title"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "closeModal": "closeModal"; }, never, ["*"], true, never>;
2502
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppModalComponent, "app-modal", never, { "title": { "alias": "title"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "closeModal": "closeModal"; }, never, ["*"], true, never>;
2503
+ }
2504
+
2505
+ declare class AppBadgeComponent {
2506
+ text: string;
2507
+ color: BadgeColor;
2508
+ size: BadgeSize;
2509
+ bordered: boolean;
2510
+ backgroundColor: string;
2511
+ textColor: string;
2512
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBadgeComponent, never>;
2513
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppBadgeComponent, "app-badge", never, { "text": { "alias": "text"; "required": false; }; "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; }, {}, never, never, true, never>;
1456
2514
  }
1457
2515
 
1458
2516
  declare class AuditInformationComponent {
@@ -1487,6 +2545,64 @@ declare class DynamicTableComponent {
1487
2545
  static ɵcmp: i0.ɵɵComponentDeclaration<DynamicTableComponent, "dynamic-table", never, { "title": { "alias": "title"; "required": false; }; "data": { "alias": "data"; "required": false; }; "headers": { "alias": "headers"; "required": false; }; "columnComponents": { "alias": "columnComponents"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "showPagination": { "alias": "showPagination"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; }, { "pageChange": "pageChange"; "searchChange": "searchChange"; }, never, never, true, never>;
1488
2546
  }
1489
2547
 
2548
+ declare class TextExpandableComponent implements OnChanges {
2549
+ text: string;
2550
+ maxLength: number;
2551
+ fontSize: TextFontSize;
2552
+ allowHtml: boolean;
2553
+ maxLines?: number;
2554
+ protected expanded: boolean;
2555
+ ngOnChanges(): void;
2556
+ get plainText(): string;
2557
+ get truncated(): boolean;
2558
+ get visibleText(): string;
2559
+ get lines(): number;
2560
+ toggleExpanded(): void;
2561
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextExpandableComponent, never>;
2562
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextExpandableComponent, "text-expandable", never, { "text": { "alias": "text"; "required": true; }; "maxLength": { "alias": "maxLength"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "allowHtml": { "alias": "allowHtml"; "required": false; }; "maxLines": { "alias": "maxLines"; "required": false; }; }, {}, never, never, true, never>;
2563
+ }
2564
+
2565
+ declare class ShowCardComponent {
2566
+ show: Show;
2567
+ linkText: string;
2568
+ linkUrlFn?: (show: Show) => string;
2569
+ linkQueryParams?: Record<string, any>;
2570
+ transloco: TranslocoService;
2571
+ dateService: DateService;
2572
+ get showTypeColor(): {
2573
+ bg: string;
2574
+ text: string;
2575
+ };
2576
+ formatTimeDate(date: string): Date;
2577
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardComponent, never>;
2578
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardComponent, "show-card", never, { "show": { "alias": "show"; "required": true; }; "linkText": { "alias": "linkText"; "required": false; }; "linkUrlFn": { "alias": "linkUrlFn"; "required": false; }; "linkQueryParams": { "alias": "linkQueryParams"; "required": false; }; }, {}, never, never, true, never>;
2579
+ }
2580
+
2581
+ declare class ShowTypeBadgeComponent {
2582
+ show: Show;
2583
+ size: BadgeSize;
2584
+ transloco: TranslocoService;
2585
+ get showTypeColor(): {
2586
+ bg: string;
2587
+ text: string;
2588
+ };
2589
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowTypeBadgeComponent, never>;
2590
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowTypeBadgeComponent, "show-type-badge", never, { "show": { "alias": "show"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
2591
+ }
2592
+
2593
+ declare class ShowCardSkeletonComponent {
2594
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardSkeletonComponent, never>;
2595
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardSkeletonComponent, "show-card-skeleton", never, {}, {}, never, never, true, never>;
2596
+ }
2597
+
2598
+ declare class AppBreadcumbComponent {
2599
+ homeUrl: string | undefined;
2600
+ steps: BreadcrumbStep[];
2601
+ theme: BreadcrumbTheme;
2602
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBreadcumbComponent, never>;
2603
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppBreadcumbComponent, "app-breadcrumb", never, { "homeUrl": { "alias": "homeUrl"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, {}, never, never, true, never>;
2604
+ }
2605
+
1490
2606
  declare class LanguageSwitcherComponent {
1491
2607
  protected transloco: TranslocoService;
1492
2608
  availableLangs: string[];
@@ -1534,7 +2650,7 @@ declare class FormInputComponent implements ControlValueAccessor {
1534
2650
 
1535
2651
  declare class FormSelectComponent implements ControlValueAccessor {
1536
2652
  ngControl: NgControl;
1537
- private transloco;
2653
+ protected transloco: TranslocoService;
1538
2654
  label: string;
1539
2655
  name: string;
1540
2656
  id: string;
@@ -1558,7 +2674,6 @@ declare class FormSelectComponent implements ControlValueAccessor {
1558
2674
  get inputId(): string;
1559
2675
  get showError(): boolean;
1560
2676
  get errorMessage(): string;
1561
- get resolvedDefaultOptionLabel(): string;
1562
2677
  get fieldGroupClasses(): string;
1563
2678
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSelectComponent, [{ optional: true; self: true; }, null]>;
1564
2679
  static ɵcmp: i0.ɵɵComponentDeclaration<FormSelectComponent, "form-select", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "options": { "alias": "options"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; "showDefaultOption": { "alias": "showDefaultOption"; "required": false; }; "defaultOptionLabel": { "alias": "defaultOptionLabel"; "required": false; }; }, {}, never, never, true, never>;
@@ -1613,7 +2728,8 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1613
2728
  onChange: any;
1614
2729
  onTouched: any;
1615
2730
  private subscription;
1616
- constructor(ngControl: NgControl, transloco: TranslocoService);
2731
+ isBrowser: boolean;
2732
+ constructor(ngControl: NgControl, transloco: TranslocoService, platformId: object);
1617
2733
  ngOnInit(): void;
1618
2734
  ngOnDestroy(): void;
1619
2735
  writeValue(value: any): void;
@@ -1624,7 +2740,7 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1624
2740
  get showError(): boolean;
1625
2741
  get errorMessage(): string;
1626
2742
  get fieldGroupClasses(): string;
1627
- static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null]>;
2743
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null, null]>;
1628
2744
  static ɵcmp: i0.ɵɵComponentDeclaration<FormEditorComponent, "form-editor", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "toolbar": { "alias": "toolbar"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; }, {}, never, never, true, never>;
1629
2745
  }
1630
2746
 
@@ -1808,6 +2924,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1808
2924
  notFoundText: string;
1809
2925
  bindLabel: string;
1810
2926
  bindValue: string;
2927
+ disabled: boolean;
1811
2928
  value: any;
1812
2929
  onChange: any;
1813
2930
  onTouched: any;
@@ -1837,7 +2954,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1837
2954
  registerOnTouched(fn: any): void;
1838
2955
  setDisabledState(isDisabled: boolean): void;
1839
2956
  static ɵfac: i0.ɵɵFactoryDeclaration<AsyncSelectComponent, never>;
1840
- static ɵcmp: i0.ɵɵComponentDeclaration<AsyncSelectComponent, "async-select", never, { "config": { "alias": "config"; "required": false; }; "items": { "alias": "items"; "required": false; }; "parentId": { "alias": "parentId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; }, {}, never, never, true, never>;
2957
+ static ɵcmp: i0.ɵɵComponentDeclaration<AsyncSelectComponent, "async-select", never, { "config": { "alias": "config"; "required": false; }; "items": { "alias": "items"; "required": false; }; "parentId": { "alias": "parentId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
1841
2958
  }
1842
2959
 
1843
2960
  declare class ChangePasswordFormComponent {
@@ -2274,6 +3391,28 @@ declare class PriceZoneSelectComponent implements OnInit, OnDestroy, ControlValu
2274
3391
  static ɵcmp: i0.ɵɵComponentDeclaration<PriceZoneSelectComponent, "price-zone-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "showError": { "alias": "showError"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, { "priceZoneChange": "priceZoneChange"; }, never, never, true, never>;
2275
3392
  }
2276
3393
 
3394
+ declare class PerformanceTicketStatusBadgeComponent {
3395
+ ticket: PerformanceTicket;
3396
+ size: BadgeSize;
3397
+ protected get statusColors(): {
3398
+ text: string;
3399
+ bg: string;
3400
+ };
3401
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketStatusBadgeComponent, never>;
3402
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceTicketStatusBadgeComponent, "performance-ticket-status-badge", never, { "ticket": { "alias": "ticket"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3403
+ }
3404
+
3405
+ declare class PerformanceStatusBadgeComponent {
3406
+ performance: Performance;
3407
+ size: BadgeSize;
3408
+ protected get statusColors(): {
3409
+ text: string;
3410
+ bg: string;
3411
+ };
3412
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceStatusBadgeComponent, never>;
3413
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceStatusBadgeComponent, "performance-status-badge", never, { "performance": { "alias": "performance"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3414
+ }
3415
+
2277
3416
  declare class DaySelectorGridComponent {
2278
3417
  private platformId;
2279
3418
  protected performanceService: PerformanceService;
@@ -2295,11 +3434,15 @@ declare class DaySelectorGridComponent {
2295
3434
  declare class PerformanceCardComponent {
2296
3435
  protected listEventService: PerformancesListEventsService;
2297
3436
  card: DailyPerformanceItem;
3437
+ linkText: string;
3438
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3439
+ linkQueryParams?: Record<string, any>;
2298
3440
  constructor(listEventService: PerformancesListEventsService);
3441
+ get badgeColor(): 'success' | 'error';
2299
3442
  onSelect(): void;
2300
3443
  isSelected(): boolean;
2301
3444
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardComponent, never>;
2302
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; }, {}, never, never, true, never>;
3445
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; "linkText": { "alias": "linkText"; "required": false; }; "linkUrlFn": { "alias": "linkUrlFn"; "required": false; }; "linkQueryParams": { "alias": "linkQueryParams"; "required": false; }; }, {}, never, never, true, never>;
2303
3446
  }
2304
3447
 
2305
3448
  declare class PerformanceCardListComponent {
@@ -2307,6 +3450,9 @@ declare class PerformanceCardListComponent {
2307
3450
  protected performanceService: PerformanceService;
2308
3451
  protected listEventService: PerformancesListEventsService;
2309
3452
  protected toastService: ToastService;
3453
+ linkText: string;
3454
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3455
+ linkQueryParams?: Record<string, any>;
2310
3456
  loadingData: WritableSignal<boolean>;
2311
3457
  performances: WritableSignal<DailyPerformanceItem[]>;
2312
3458
  constructor(platformId: object, performanceService: PerformanceService, listEventService: PerformancesListEventsService, toastService: ToastService);
@@ -2314,7 +3460,7 @@ declare class PerformanceCardListComponent {
2314
3460
  private loadData;
2315
3461
  get selectedDayDate(): string | null;
2316
3462
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardListComponent, never>;
2317
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, {}, {}, never, never, true, never>;
3463
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, { "linkText": { "alias": "linkText"; "required": false; }; "linkUrlFn": { "alias": "linkUrlFn"; "required": false; }; "linkQueryParams": { "alias": "linkQueryParams"; "required": false; }; }, {}, never, never, true, never>;
2318
3464
  }
2319
3465
 
2320
3466
  declare class PerformanceStepperComponent {
@@ -2343,9 +3489,9 @@ declare class ShowsFilterComponent {
2343
3489
  }
2344
3490
 
2345
3491
  interface PriceZoneItem {
2346
- colorClass: string;
3492
+ color: string;
2347
3493
  name: string;
2348
- seatsAvailable: number;
3494
+ available_seats: number;
2349
3495
  price: string;
2350
3496
  }
2351
3497
 
@@ -2361,5 +3507,363 @@ declare class ZonePriceListComponent {
2361
3507
  static ɵcmp: i0.ɵɵComponentDeclaration<ZonePriceListComponent, "zone-price-list", never, { "zones": { "alias": "zones"; "required": true; }; }, {}, never, never, true, never>;
2362
3508
  }
2363
3509
 
2364
- export { ADMIN_API_ROUTES, ALERT_ICONS, AdminSelectComponent, AdminService, ApiService, AppAlertComponent, AppButtonComponent, AppLinkButtonComponent, AppModalComponent, AsyncSelectComponent, AuditInformationComponent, BASE_BUTTON_CLASSES, BASE_INPUT_CLASSES, BUTTON_SIZES_CLASSES, BUTTON_VARIANT_CLASSES, CITY_API_ENDPOINTS, COUNTRY_API_ENDPOINTS, CUSTOMERS_API_ROUTES, ChangePasswordFormComponent, ChangePasswordFormService, CitiesService, CitySelectComponent, ColorPickerComponent, CorporateBondStatus, CountrySelectComponent, CountryService, CouponApplicability, CouponDiscountType, CustomerSelectComponent, CustomerService, DateInputComponent, DateService, DaySelectorGridComponent, DeleteConfirmationComponent, DeleteConfirmationService, DynamicTableComponent, ERROR_INPUT_CLASSES, EndDateGreaterThanStartValidator, FORM_ERROR_MESSAGES, FileType, FileUploadComponent, FileUploadPreviewComponent, FormEditorComponent, FormInputComponent, FormSelectComponent, FormTextareaComponent, GiftBondStatus, LanguageSwitcherComponent, LoadingModalService, LoadingmModalComponent, MinTodayValidator, MustMatchValidator, OrderItemType, OrderStatus, PERFORMANCES_API_ROUTES, PRICE_ZONES_API_ROUTES, PRODUCTS_API_ROUTES, PerformanceCardComponent, PerformanceCardListComponent, PerformanceMultiSelectComponent, PerformanceSelectComponent, PerformanceService, PerformanceStatus, PerformanceStepperComponent, PerformanceTicketStatus, PerformancesListEventsService, PriceZoneEventService, PriceZoneFormModalService, PriceZoneSelectComponent, PriceZoneService, ProductMultiSelectComponent, ProductSelectComponent, ProductService, RoomMapElementOrientation, RoomMapElementType, SHOWS_API_ROUTES, STATE_API_ENDPOINTS, ShowMultiSelectComponent, ShowSelectComponent, ShowService, ShowsFilterComponent, StateSelectComponent, StatesService, TICKERA_COMPONENTS_CONFIG, TickeraTranslocoLoader, ToastService, ToggleSwitchComponent, VENUES_API_ROUTES, ZonePriceItemComponent, ZonePriceListComponent, authInterceptor, formatCitiesResponseToSelect, getBrowserLanguage, getCustomerFullname, getStoredLanguage, parseJsonToFormDataAdvanced, provideTickeraComponents, resolveLanguage, setStoredLanguage, transformImageToFile };
2365
- export type { Admin, AdminsResponse, AsyncSelectConfig, Auditable, CitiesResponse, City, CityResponse, CorporateBond, CorporateBondCode, CorporateBondResponse, CountriesResponse, Country, CountryResponse, Coupon, CouponResponse, Customer, CustomerResponse, CustomersResponse, DailyPerformanceHall, DailyPerformanceItem, DailyPerformancePriceZone, DailyPerformanceShow, DailyPerformanceVenue, DailyPerformancesResponse, DeleteConfirmationOpen, DragDropEvent, DynamicTableHeader, ElementPropertiesTab, FetchCitiesParams, FetchDailyPerformancesParams, FetchShowsParams, FileUploadConfig, FindAllPriceZoneParams, GiftBond, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, NumerationConfig, Order, OrderItem, OrderResponse, OrdersResponse, Performance, PerformanceAvailableDay, PerformanceBookingDataResponse, PerformanceResponse, PerformanceTicket, PerformancesAvailableDaysResponse, PerformancesResponseInterface, PriceZone, PriceZoneResponse, PriceZoneUpdateResponse, PriceZonesResponseInterface, Product, ProductResponse, ProductsResponseInterface, RoomMap, RoomMapBaseElement, RoomMapCanvasConfiguration, RoomMapCanvasElement, RoomMapChairPosition, RoomMapElementTemplate, RoomMapExitElement, RoomMapGridPosition, RoomMapPosition, RoomMapProductionAreaElement, RoomMapSeatDisplayState, RoomMapSeatElement, RoomMapSeatState, RoomMapSize, RoomMapStageElement, RoomMapTableElement, RoomMapUnavailableElement, RoomMapZoneElement, SelectOption, Show, ShowImage, ShowResponse, ShowType, ShowsResponseInterface, State, StateResponse, StatesResponse, TickeraComponentsConfig, UploadedFile, ValidateCorporateBondResponse, ValidateCouponResponse, ValidateGiftBondResponse, Venue, VenueImage };
3510
+ declare class TicketMapWidgetComponent {
3511
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetComponent, never>;
3512
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetComponent, "ticket-map-widget", never, {}, {}, never, ["*"], true, never>;
3513
+ }
3514
+
3515
+ declare class TicketMapWidgetHeaderComponent {
3516
+ title: string;
3517
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetHeaderComponent, never>;
3518
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetHeaderComponent, "ticket-map-widget-header", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
3519
+ }
3520
+
3521
+ declare class TicketMapZoomControlsComponent {
3522
+ private zoomService;
3523
+ readonly currentZoom: i0.Signal<number>;
3524
+ readonly zoomPercentage: i0.Signal<string>;
3525
+ constructor(zoomService: TicketMapZoomService);
3526
+ zoomIn(): void;
3527
+ zoomOut(): void;
3528
+ resetZoom(): void;
3529
+ fitToContainer(): void;
3530
+ handleZoomAction(action: string): void;
3531
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomControlsComponent, never>;
3532
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapZoomControlsComponent, "ticket-map-zoom-controls", never, {}, {}, never, never, true, never>;
3533
+ }
3534
+
3535
+ declare class PerformanceTicketMapComponent implements OnDestroy, AfterViewInit {
3536
+ private platformId;
3537
+ protected bookingDataService: PerformanceBookingDataService;
3538
+ protected feedbackModalService: FeedbackModalService;
3539
+ protected selectionService: TicketSelectionService;
3540
+ protected zoomService: TicketMapZoomService;
3541
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3542
+ needsLoginError: EventEmitter<any>;
3543
+ readOnly: boolean;
3544
+ needsLogin: boolean;
3545
+ isLoggedIn: boolean;
3546
+ stageComponent?: StageComponent;
3547
+ protected tooltipData: i0.WritableSignal<TicketMapTooltipData | null>;
3548
+ private stageReady;
3549
+ private autoFitDone;
3550
+ private resizeObserver?;
3551
+ constructor(platformId: object, bookingDataService: PerformanceBookingDataService, feedbackModalService: FeedbackModalService, selectionService: TicketSelectionService, zoomService: TicketMapZoomService);
3552
+ protected get isBrowser(): boolean;
3553
+ ngAfterViewInit(): void;
3554
+ private setupResizeObserver;
3555
+ private syncStageToContainer;
3556
+ ngOnDestroy(): void;
3557
+ private getInternalPointer;
3558
+ protected selectHallFloor(floorId: number): void;
3559
+ protected handleStageClick(konvaEvent: any): void;
3560
+ protected handleStageMouseMove(konvaEvent: any): void;
3561
+ protected handleStageMouseLeave(): void;
3562
+ protected handleWheel(konvaEvent: any): void;
3563
+ protected trackByElementId(_index: number, item: ElementRenderData): number;
3564
+ protected trackByFloorId(_index: number, floor: HallFloorOption): HallFloorOption;
3565
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketMapComponent, never>;
3566
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceTicketMapComponent, "performance-ticket-map", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "needsLogin": { "alias": "needsLogin"; "required": false; }; "isLoggedIn": { "alias": "isLoggedIn"; "required": false; }; }, { "selectionChange": "selectionChange"; "needsLoginError": "needsLoginError"; }, never, never, true, never>;
3567
+ }
3568
+
3569
+ declare class TicketMapPriceZonesComponent {
3570
+ title: string;
3571
+ protected bookingDataService: PerformanceBookingDataService;
3572
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapPriceZonesComponent, never>;
3573
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapPriceZonesComponent, "ticket-map-price-zones", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
3574
+ }
3575
+
3576
+ declare class TicketMapProductSelectionItemComponent {
3577
+ protected selectionService: TicketSelectionService;
3578
+ product: Product;
3579
+ constructor(selectionService: TicketSelectionService);
3580
+ get quantity(): number;
3581
+ get firstImage(): string | undefined;
3582
+ increment(): void;
3583
+ decrement(): void;
3584
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapProductSelectionItemComponent, never>;
3585
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapProductSelectionItemComponent, "ticket-map-product-selection-item", never, { "product": { "alias": "product"; "required": true; }; }, {}, never, never, true, never>;
3586
+ }
3587
+
3588
+ declare class TIcketMapProductSelectionComponent {
3589
+ private bookingDataService;
3590
+ readonly products: i0.Signal<tickera_angular_components.Product[]>;
3591
+ static ɵfac: i0.ɵɵFactoryDeclaration<TIcketMapProductSelectionComponent, never>;
3592
+ static ɵcmp: i0.ɵɵComponentDeclaration<TIcketMapProductSelectionComponent, "ticket-map-product-selection", never, {}, {}, never, never, true, never>;
3593
+ }
3594
+
3595
+ declare class TicketMapTotalsComponent {
3596
+ protected bookingDataService: PerformanceBookingDataService;
3597
+ protected selectionDetailsService: TicketSelectionDetailsService;
3598
+ protected selectionDiscountService: TicketSelectionDiscountService;
3599
+ protected selectionTotalsService: TicketSelectionTotalsService;
3600
+ protected selectionService: TicketSelectionService;
3601
+ private activatedRoute;
3602
+ title: string;
3603
+ buttonText: string;
3604
+ loadingButtonText: string;
3605
+ isLoading: boolean;
3606
+ onPurchaseClick: EventEmitter<void>;
3607
+ constructor(bookingDataService: PerformanceBookingDataService, selectionDetailsService: TicketSelectionDetailsService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, activatedRoute: ActivatedRoute);
3608
+ get serviceFee(): number;
3609
+ get performanceId(): number;
3610
+ get selectedTicketIds(): number[];
3611
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapTotalsComponent, never>;
3612
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapTotalsComponent, "ticket-map-totals", never, { "title": { "alias": "title"; "required": false; }; "buttonText": { "alias": "buttonText"; "required": false; }; "loadingButtonText": { "alias": "loadingButtonText"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, { "onPurchaseClick": "onPurchaseClick"; }, never, never, true, never>;
3613
+ }
3614
+
3615
+ declare class TicketMapWrapperComponent {
3616
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3617
+ needsLoginError: EventEmitter<any>;
3618
+ readOnly: boolean;
3619
+ needsLogin: boolean;
3620
+ isLoggedIn: boolean;
3621
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWrapperComponent, never>;
3622
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWrapperComponent, "ticket-map-wrapper", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "needsLogin": { "alias": "needsLogin"; "required": false; }; "isLoggedIn": { "alias": "isLoggedIn"; "required": false; }; }, { "selectionChange": "selectionChange"; "needsLoginError": "needsLoginError"; }, never, never, true, never>;
3623
+ }
3624
+
3625
+ declare class SeatSelectionEmptySummaryComponent {
3626
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionEmptySummaryComponent, never>;
3627
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionEmptySummaryComponent, "seat-selection-empty-summary", never, {}, {}, never, never, true, never>;
3628
+ }
3629
+
3630
+ declare class SeatSelectionSummaryComponent {
3631
+ protected selectionService: TicketSelectionService;
3632
+ title: string;
3633
+ clearButtonText: string;
3634
+ constructor(selectionService: TicketSelectionService);
3635
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryComponent, never>;
3636
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryComponent, "seat-selection-summary", never, { "title": { "alias": "title"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; }, {}, never, never, true, never>;
3637
+ }
3638
+
3639
+ declare class SeatSelectionSummaryItemComponent {
3640
+ protected selectionService: TicketSelectionService;
3641
+ item: PerformanceTicket;
3642
+ constructor(selectionService: TicketSelectionService);
3643
+ getItemTypeIcon: (ticket: PerformanceTicket) => string;
3644
+ removeItem(ticket: PerformanceTicket): void;
3645
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryItemComponent, never>;
3646
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryItemComponent, "seat-selection-summary-item", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
3647
+ }
3648
+
3649
+ declare class ConfirmationOrderModalComponent {
3650
+ private confirmationOrderModalService;
3651
+ private selectionDiscountService;
3652
+ private selectionTotalsService;
3653
+ private selectionService;
3654
+ private bookingDataService;
3655
+ modalTitle: string;
3656
+ confirmButtonText: string;
3657
+ confirmButtonTextLoading: string;
3658
+ loading: boolean;
3659
+ onConfirm: EventEmitter<any>;
3660
+ constructor(confirmationOrderModalService: ConfirmationOrderModalService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, bookingDataService: PerformanceBookingDataService);
3661
+ get isOpen(): i0.WritableSignal<boolean>;
3662
+ get selectedCount(): number;
3663
+ get serviceFee(): number;
3664
+ get subtotalValue(): number;
3665
+ get ticketSubtotal(): number;
3666
+ get productSubtotal(): number;
3667
+ get productCount(): number;
3668
+ get totalValue(): number;
3669
+ get totalDiscounted(): number | null;
3670
+ get coupon(): tickera_angular_components.Coupon | null;
3671
+ get corporateBond(): tickera_angular_components.CorporateBond | null;
3672
+ get giftBond(): tickera_angular_components.GiftBondPurchase | null;
3673
+ onClose(): void;
3674
+ confirmOrder(): void;
3675
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalComponent, never>;
3676
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationOrderModalComponent, "confirmation-order-modal", never, { "modalTitle": { "alias": "modalTitle"; "required": false; }; "confirmButtonText": { "alias": "confirmButtonText"; "required": false; }; "confirmButtonTextLoading": { "alias": "confirmButtonTextLoading"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "onConfirm": "onConfirm"; }, never, never, true, never>;
3677
+ }
3678
+
3679
+ declare class OrderInformationComponent {
3680
+ readonly transloco: TranslocoService;
3681
+ private readonly toastService;
3682
+ order: Order;
3683
+ showPayButton: boolean;
3684
+ createMpPreference?: (order: Order) => Observable<MercadoPagoPreference>;
3685
+ paymentLinkCreated: EventEmitter<MercadoPagoPreference>;
3686
+ isLoading: boolean;
3687
+ constructor(transloco: TranslocoService, toastService: ToastService);
3688
+ get showMpButton(): boolean;
3689
+ payWithMercadoPago(): void;
3690
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderInformationComponent, never>;
3691
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderInformationComponent, "order-information", never, { "order": { "alias": "order"; "required": true; }; "showPayButton": { "alias": "showPayButton"; "required": false; }; "createMpPreference": { "alias": "createMpPreference"; "required": false; }; }, { "paymentLinkCreated": "paymentLinkCreated"; }, never, never, true, never>;
3692
+ }
3693
+
3694
+ declare class OrderStatusBadgeComponent {
3695
+ protected transloco: TranslocoService;
3696
+ order: Order | RecentOrder;
3697
+ size: BadgeSize;
3698
+ constructor(transloco: TranslocoService);
3699
+ protected get statusColors(): {
3700
+ text: string;
3701
+ bg: string;
3702
+ };
3703
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderStatusBadgeComponent, never>;
3704
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderStatusBadgeComponent, "order-status-badge", never, { "order": { "alias": "order"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3705
+ }
3706
+
3707
+ declare class OrderItemTypeBadgeComponent {
3708
+ protected transloco: TranslocoService;
3709
+ item: OrderItem;
3710
+ size: BadgeSize;
3711
+ constructor(transloco: TranslocoService);
3712
+ protected get statusColors(): {
3713
+ text: string;
3714
+ bg: string;
3715
+ };
3716
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemTypeBadgeComponent, never>;
3717
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemTypeBadgeComponent, "order-item-type-badge", never, { "item": { "alias": "item"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3718
+ }
3719
+
3720
+ declare class OrderItemsComponent {
3721
+ private ticketQrModalService;
3722
+ order: Order;
3723
+ constructor(ticketQrModalService: TicketQrModalService);
3724
+ protected get orderItems(): Order['order_items'];
3725
+ protected get products(): Order['order_items'];
3726
+ protected get tickets(): Order['order_items'];
3727
+ protected get giftBonds(): Order['order_items'];
3728
+ protected get corporateBonds(): Order['order_items'];
3729
+ protected get showActionColumn(): boolean;
3730
+ protected itemTotal(quantity: number, price: number): number;
3731
+ protected hasDiscount(): boolean;
3732
+ protected get totals(): {
3733
+ giftBonds: number;
3734
+ corporateBonds: number;
3735
+ products: number;
3736
+ tickets: number;
3737
+ };
3738
+ openTicketQr(ticketUuid: string, description: string): void;
3739
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemsComponent, never>;
3740
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemsComponent, "order-items", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3741
+ }
3742
+
3743
+ declare class OrderDiscountAppliedComponent {
3744
+ order: Order;
3745
+ protected get discountInfo(): OrderDiscountInfo;
3746
+ protected get hasDiscount(): boolean;
3747
+ protected get discountPct(): number | null;
3748
+ protected get badgeColors(): {
3749
+ text: string;
3750
+ bg: string;
3751
+ };
3752
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderDiscountAppliedComponent, never>;
3753
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderDiscountAppliedComponent, "order-discount-applied", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3754
+ }
3755
+
3756
+ interface BillingField {
3757
+ label: string;
3758
+ value: string | number | null;
3759
+ }
3760
+ declare class OrderBillingInfoComponent {
3761
+ order: Order;
3762
+ protected get fields(): BillingField[];
3763
+ protected get hasFields(): boolean;
3764
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderBillingInfoComponent, never>;
3765
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderBillingInfoComponent, "order-billing-info", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3766
+ }
3767
+
3768
+ declare class OrderTransactionsComponent {
3769
+ private transactionDetailsModalService;
3770
+ order: Order;
3771
+ constructor(transactionDetailsModalService: OrderTransactionDetailsModalService);
3772
+ protected get transactions(): Transaction[];
3773
+ protected get hasTransactions(): boolean;
3774
+ protected get txColors(): Record<string, {
3775
+ text: string;
3776
+ bg: string;
3777
+ }>;
3778
+ protected openTransaction(transaction: Transaction): void;
3779
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionsComponent, never>;
3780
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionsComponent, "order-transactions", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3781
+ }
3782
+
3783
+ declare class OrderTransactionDetailsModalComponent {
3784
+ private modalService;
3785
+ isOpen: WritableSignal<boolean> | null;
3786
+ transaction: Transaction | null;
3787
+ get modalIsOpen(): WritableSignal<boolean>;
3788
+ get selectedTransaction(): WritableSignal<Transaction | null>;
3789
+ protected get txColors(): Record<TransactionStatus, {
3790
+ text: string;
3791
+ bg: string;
3792
+ }>;
3793
+ protected get gatewayResponse(): string;
3794
+ onClose(): void;
3795
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalComponent, never>;
3796
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionDetailsModalComponent, "order-transaction-details-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "transaction": { "alias": "transaction"; "required": false; }; }, {}, never, never, true, never>;
3797
+ }
3798
+
3799
+ declare class TicketQrComponent implements OnInit, OnDestroy {
3800
+ private ticketQrService;
3801
+ ticketUuid: string;
3802
+ qrCanvas: ElementRef<HTMLCanvasElement>;
3803
+ loading: i0.WritableSignal<boolean>;
3804
+ error: i0.WritableSignal<boolean>;
3805
+ refreshing: i0.WritableSignal<boolean>;
3806
+ countdown: i0.WritableSignal<number>;
3807
+ private destroy$;
3808
+ private refreshTimeout;
3809
+ private countdownInterval;
3810
+ constructor(ticketQrService: TicketQrService);
3811
+ ngOnInit(): void;
3812
+ ngOnDestroy(): void;
3813
+ retry(): void;
3814
+ private clearTimers;
3815
+ private fetchAndRender;
3816
+ private scheduleRefresh;
3817
+ private startCountdown;
3818
+ private renderQr;
3819
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrComponent, never>;
3820
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrComponent, "performance-ticket-qr", never, { "ticketUuid": { "alias": "ticketUuid"; "required": true; }; }, {}, never, never, true, never>;
3821
+ }
3822
+
3823
+ declare class TicketQrModalComponent {
3824
+ private ticketQrModalService;
3825
+ constructor(ticketQrModalService: TicketQrModalService);
3826
+ get isOpen(): i0.WritableSignal<boolean>;
3827
+ get ticketUuid(): i0.WritableSignal<string | null>;
3828
+ get ticketDescription(): i0.WritableSignal<string | null>;
3829
+ onClose(): void;
3830
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalComponent, never>;
3831
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrModalComponent, "ticket-qr-modal", never, {}, {}, never, never, true, never>;
3832
+ }
3833
+
3834
+ declare class VipBalanceCardComponent {
3835
+ card: VipCard | null;
3836
+ get statusColor(): BadgeColor;
3837
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipBalanceCardComponent, never>;
3838
+ static ɵcmp: i0.ɵɵComponentDeclaration<VipBalanceCardComponent, "vip-balance-card", never, { "card": { "alias": "card"; "required": false; }; }, {}, never, never, true, never>;
3839
+ }
3840
+
3841
+ declare class VipRechargeModalComponent {
3842
+ private fb;
3843
+ title: string;
3844
+ submitLabel: string;
3845
+ loading: boolean;
3846
+ minAmount: number;
3847
+ isOpen: WritableSignal<boolean>;
3848
+ closeModal: EventEmitter<void>;
3849
+ confirm: EventEmitter<{
3850
+ amount: number;
3851
+ }>;
3852
+ rechargeForm: FormGroup;
3853
+ constructor(fb: FormBuilder);
3854
+ onClose(): void;
3855
+ onSubmit(): void;
3856
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipRechargeModalComponent, never>;
3857
+ static ɵcmp: i0.ɵɵComponentDeclaration<VipRechargeModalComponent, "vip-recharge-modal", never, { "title": { "alias": "title"; "required": false; }; "submitLabel": { "alias": "submitLabel"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "minAmount": { "alias": "minAmount"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; }, { "closeModal": "closeModal"; "confirm": "confirm"; }, never, never, true, never>;
3858
+ }
3859
+
3860
+ declare class VipTransactionsTableComponent {
3861
+ transactions: VipTransaction[];
3862
+ loading: boolean;
3863
+ typeLabel(type: VipTransactionType): string;
3864
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipTransactionsTableComponent, never>;
3865
+ static ɵcmp: i0.ɵɵComponentDeclaration<VipTransactionsTableComponent, "vip-transactions-table", never, { "transactions": { "alias": "transactions"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, {}, never, never, true, never>;
3866
+ }
3867
+
3868
+ export { ADMIN_API_ROUTES, ALERT_ICONS, AdminSelectComponent, AdminService, ApiService, AppAlertComponent, AppBadgeComponent, AppBreadcumbComponent, AppButtonComponent, AppLinkButtonComponent, AppModalComponent, AsyncSelectComponent, AuditInformationComponent, BASE_BUTTON_CLASSES, BASE_INPUT_CLASSES, BUTTON_SIZES_CLASSES, BUTTON_VARIANT_CLASSES, BaseModalService, CITY_API_ENDPOINTS, COUNTRY_API_ENDPOINTS, CUSTOMERS_API_ROUTES, ChangePasswordFormComponent, ChangePasswordFormService, CitiesService, CitySelectComponent, ColorPickerComponent, ConfirmationOrderModalComponent, ConfirmationOrderModalService, CorporateBondStatus, CountrySelectComponent, CountryService, CouponApplicability, CouponDiscountType, CouponStatus, CreatorType, CustomerSelectComponent, CustomerService, DEFAULT_STAGE_CONFIG, DOCUMENT_TYPES_OPTIONS, DateInputComponent, DateService, DaySelectorGridComponent, DeleteConfirmationComponent, DeleteConfirmationService, DynamicTableComponent, ERROR_INPUT_CLASSES, EndDateGreaterThanStartValidator, FORM_ERROR_MESSAGES, FeedbackModalComponent, FeedbackModalService, FileType, FileUploadComponent, FileUploadPreviewComponent, FormEditorComponent, FormInputComponent, FormSelectComponent, FormTextareaComponent, GiftBondPurchaseStatus, GiftBondStatus, KONVA_SHAPE_MAPPINGS, LanguageSwitcherComponent, MinTodayValidator, MustMatchValidator, ORDER_DISCOUNT_COLORS, ORDER_ITEM_TYPES_COLORS, ORDER_STATUS_COLORS, OrderBillingInfoComponent, OrderDiscountAppliedComponent, OrderInformationComponent, OrderItemType, OrderItemTypeBadgeComponent, OrderItemsComponent, OrderStatus, OrderStatusBadgeComponent, OrderTransactionDetailsModalComponent, OrderTransactionDetailsModalService, OrderTransactionsComponent, PAYMENT_METHODS_OPTIONS, PERFORMANCES_API_ROUTES, PERFORMANCE_STATUS_COLORS, PERFORMANCE_TICKET_STATUS_COLORS, PRICE_ZONES_API_ROUTES, PRODUCTS_API_ROUTES, PRODUCT_CATEGORIES_API_ROUTES, PRODUCT_TAGS_API_ROUTES, PRODUCT_TYPES_API_ROUTES, PaymentMethod, PerformanceBookingDataService, PerformanceCardComponent, PerformanceCardListComponent, PerformanceMultiSelectComponent, PerformanceSelectComponent, PerformanceService, PerformanceStatus, PerformanceStatusBadgeComponent, PerformanceStepperComponent, PerformanceTicketMapComponent, PerformanceTicketStatus, PerformanceTicketStatusBadgeComponent, PerformancesListEventsService, PriceZoneEventService, PriceZoneFormModalService, PriceZoneSelectComponent, PriceZoneService, ProductCategoryService, ProductMultiSelectComponent, ProductSelectComponent, ProductService, ProductTagService, ProductTypeService, RoomMapElementOrientation, RoomMapElementType, SHOWS_API_ROUTES, SHOW_TYPE_COLORS, STATE_API_ENDPOINTS, SeatSelectionEmptySummaryComponent, SeatSelectionSummaryComponent, SeatSelectionSummaryItemComponent, SelectedDiscountCardType, ShowCardComponent, ShowCardSkeletonComponent, ShowMultiSelectComponent, ShowSelectComponent, ShowService, ShowType, ShowTypeBadgeComponent, ShowsFilterComponent, StateSelectComponent, StatesService, TICKERA_COMPONENTS_CONFIG, TICKET_ELEMENT_TYPES, TICKET_MAP_GRID_SIZE, TICKET_MAP_LAST_TICKETS_LIMIT, TICKET_MAP_TITLE_HEIGHT, TICKET_STATUS_COLORS, TICKET_STATUS_FILLS, TICKET_STATUS_LABELS, TIcketMapProductSelectionComponent, TRANSACTION_STATUS_COLORS, TextExpandableComponent, TickeraTranslocoLoader, TicketMapPriceZonesComponent, TicketMapProductSelectionItemComponent, TicketMapTotalsComponent, TicketMapWidgetComponent, TicketMapWidgetHeaderComponent, TicketMapWrapperComponent, TicketMapZoomControlsComponent, TicketMapZoomService, TicketQrComponent, TicketQrModalComponent, TicketQrModalService, TicketQrService, TicketSelectionDetailsService, TicketSelectionDiscountService, TicketSelectionService, TicketSelectionTotalsService, ToastService, ToggleSwitchComponent, TransactionStatus, VENUES_API_ROUTES, VIP_CARDS_API_ROUTES, VipBalanceCardComponent, VipCardService, VipCardStatus, VipRechargeModalComponent, VipTransactionType, VipTransactionsTableComponent, ZonePriceItemComponent, ZonePriceListComponent, authInterceptor, drawChairIcon, drawHappyFace, drawRoundedRect, drawWheelchairIcon, findElementAtPosition, findTicketAtPosition, formatCitiesResponseToSelect, generateExitScene, generateHallwayScene, generateProductionAreaScene, generateSeatBlockScene, generateSeatBlockTicketScene, generateStageScene, generateStairScene, generateTableScene, generateTableTicketScene, generateUnavailableSpaceScene, generateZoneScene, getBrowserLanguage, getCustomerFullname, getItemTypeIcon, getOrderDiscount, getStoredLanguage, numberToLetter, parseJsonToFormDataAdvanced, processElementsToRenderData, provideTickeraComponents, resolveLanguage, setStoredLanguage, tintColor, transformImageToFile };
3869
+ export type { Admin, AdminsResponse, AsyncSelectConfig, Auditable, BadgeColor, BadgeSize, BreadcrumbStep, BreadcrumbTheme, CitiesResponse, City, CityResponse, CorporateBond, CorporateBondCode, CorporateBondResponse, CountriesResponse, Country, CountryResponse, Coupon, CouponResponse, Customer, CustomerResponse, CustomersResponse, DailyPerformanceHall, DailyPerformanceItem, DailyPerformancePriceZone, DailyPerformanceShow, DailyPerformanceVenue, DailyPerformancesResponse, DeleteConfirmationOpen, DragDropEvent, DynamicTableHeader, ElementPropertiesTab, ElementRenderData, FeedbackModalElement, FeedbackModalType, FetchCitiesParams, FetchDailyPerformancesParams, FetchProductCategoriesParams, FetchProductTagsParams, FetchProductTypesParams, FetchShowsParams, FileUploadConfig, FindAllPerformancesParams, FindAllPriceZoneParams, GiftBond, GiftBondImage, GiftBondPurchase, GiftBondPurchaseResponse, GiftBondPurchasesResponse, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, HallFloorOption, KonvaShapeConfig, MercadoPagoPreference, ModalSize, NumerationConfig, Order, OrderBillingInfo, OrderDiscountInfo, OrderDiscountType, OrderItem, OrderResponse, OrdersResponse, Performance, PerformanceAvailableDay, PerformanceBookingDataResponse, PerformanceResponse, PerformanceTicket, PerformancesAvailableDaysResponse, PerformancesResponseInterface, PriceZone, PriceZoneResponse, PriceZoneUpdateResponse, PriceZonesResponseInterface, Product, ProductCategoriesResponse, ProductCategory, ProductCategoryResponse, ProductImage, ProductResponse, ProductTag, ProductTagResponse, ProductTagsResponse, ProductTaxonomy, ProductType, ProductTypeResponse, ProductTypesResponse, ProductsResponseInterface, QrTokenData, QrTokenResponse, RecentOrder, RecentRoomMap, ReservePerformanceDto, RoomMap, RoomMapBaseElement, RoomMapCanvasConfiguration, RoomMapCanvasElement, RoomMapChairPosition, RoomMapElementTemplate, RoomMapExitElement, RoomMapGridPosition, RoomMapPosition, RoomMapProductionAreaElement, RoomMapSeatDisplayState, RoomMapSeatElement, RoomMapSeatState, RoomMapSize, RoomMapStageElement, RoomMapTableElement, RoomMapUnavailableElement, RoomMapZoneElement, SelectOption, SelectedDiscountCard, Show, ShowCategoriesResponse, ShowCategory, ShowCategoryResponse, ShowGender, ShowGenderResponse, ShowGendersResponse, ShowImage, ShowResponse, ShowsResponseInterface, State, StateResponse, StatesResponse, TextFontSize, TickeraComponentsConfig, TicketMapSeatPosition, TicketMapTableChairPosition, TicketMapTooltipData, TicketMapZoneQuantityState, TicketMapZoomConfig, Transaction, UploadedFile, ValidateCorporateBondResponse, ValidateCouponResponse, ValidateGiftBondResponse, Venue, VenueImage, VipCard, VipCardResponse, VipCardsQueryParams, VipCardsResponse, VipCategorySnapshot, VipOrderResponse, VipTransaction, VipTransactionsResponse };