@venulog/phasing-engine-schemas 0.13.1 → 0.13.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,118 @@
1
+ import { z } from './zod.js';
2
+ export declare const eventSitePlanCalibrationAnchorSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ event_id: z.ZodNumber;
5
+ name: z.ZodString;
6
+ latitude: z.ZodNumber;
7
+ longitude: z.ZodNumber;
8
+ site_plan_x: z.ZodNumber;
9
+ site_plan_y: z.ZodNumber;
10
+ is_active: z.ZodBoolean;
11
+ created_at: z.ZodString;
12
+ updated_at: z.ZodString;
13
+ created_by: z.ZodNullable<z.ZodString>;
14
+ updated_by: z.ZodNullable<z.ZodString>;
15
+ }, z.core.$strip>;
16
+ export declare const getEventSitePlanCalibrationsQuerySchema: z.ZodObject<{
17
+ eventId: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
18
+ }, z.core.$strip>;
19
+ export declare const getEventSitePlanCalibrationsDataSchema: z.ZodObject<{
20
+ event_id: z.ZodNumber;
21
+ anchors: z.ZodArray<z.ZodObject<{
22
+ id: z.ZodNumber;
23
+ event_id: z.ZodNumber;
24
+ name: z.ZodString;
25
+ latitude: z.ZodNumber;
26
+ longitude: z.ZodNumber;
27
+ site_plan_x: z.ZodNumber;
28
+ site_plan_y: z.ZodNumber;
29
+ is_active: z.ZodBoolean;
30
+ created_at: z.ZodString;
31
+ updated_at: z.ZodString;
32
+ created_by: z.ZodNullable<z.ZodString>;
33
+ updated_by: z.ZodNullable<z.ZodString>;
34
+ }, z.core.$strip>>;
35
+ total_count: z.ZodNumber;
36
+ }, z.core.$strip>;
37
+ export declare const getEventSitePlanCalibrationsResponseSchema: z.ZodObject<{
38
+ success: z.ZodBoolean;
39
+ data: z.ZodObject<{
40
+ event_id: z.ZodNumber;
41
+ anchors: z.ZodArray<z.ZodObject<{
42
+ id: z.ZodNumber;
43
+ event_id: z.ZodNumber;
44
+ name: z.ZodString;
45
+ latitude: z.ZodNumber;
46
+ longitude: z.ZodNumber;
47
+ site_plan_x: z.ZodNumber;
48
+ site_plan_y: z.ZodNumber;
49
+ is_active: z.ZodBoolean;
50
+ created_at: z.ZodString;
51
+ updated_at: z.ZodString;
52
+ created_by: z.ZodNullable<z.ZodString>;
53
+ updated_by: z.ZodNullable<z.ZodString>;
54
+ }, z.core.$strip>>;
55
+ total_count: z.ZodNumber;
56
+ }, z.core.$strip>;
57
+ }, z.core.$strip>;
58
+ export declare const bulkUpsertEventSitePlanCalibrationsBodySchema: z.ZodObject<{
59
+ event_id: z.ZodNumber;
60
+ anchors: z.ZodArray<z.ZodObject<{
61
+ id: z.ZodOptional<z.ZodNumber>;
62
+ name: z.ZodString;
63
+ latitude: z.ZodNumber;
64
+ longitude: z.ZodNumber;
65
+ site_plan_x: z.ZodNumber;
66
+ site_plan_y: z.ZodNumber;
67
+ }, z.core.$strip>>;
68
+ deleted_anchor_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodNumber>>>;
69
+ }, z.core.$strip>;
70
+ export declare const bulkUpsertEventSitePlanCalibrationsDataSchema: z.ZodObject<{
71
+ event_id: z.ZodNumber;
72
+ total_upserted: z.ZodNumber;
73
+ total_deactivated: z.ZodNumber;
74
+ upserted_anchors: z.ZodArray<z.ZodObject<{
75
+ id: z.ZodNumber;
76
+ event_id: z.ZodNumber;
77
+ name: z.ZodString;
78
+ latitude: z.ZodNumber;
79
+ longitude: z.ZodNumber;
80
+ site_plan_x: z.ZodNumber;
81
+ site_plan_y: z.ZodNumber;
82
+ is_active: z.ZodBoolean;
83
+ created_at: z.ZodString;
84
+ updated_at: z.ZodString;
85
+ created_by: z.ZodNullable<z.ZodString>;
86
+ updated_by: z.ZodNullable<z.ZodString>;
87
+ }, z.core.$strip>>;
88
+ }, z.core.$strip>;
89
+ export declare const bulkUpsertEventSitePlanCalibrationsResponseSchema: z.ZodObject<{
90
+ success: z.ZodBoolean;
91
+ message: z.ZodString;
92
+ data: z.ZodObject<{
93
+ event_id: z.ZodNumber;
94
+ total_upserted: z.ZodNumber;
95
+ total_deactivated: z.ZodNumber;
96
+ upserted_anchors: z.ZodArray<z.ZodObject<{
97
+ id: z.ZodNumber;
98
+ event_id: z.ZodNumber;
99
+ name: z.ZodString;
100
+ latitude: z.ZodNumber;
101
+ longitude: z.ZodNumber;
102
+ site_plan_x: z.ZodNumber;
103
+ site_plan_y: z.ZodNumber;
104
+ is_active: z.ZodBoolean;
105
+ created_at: z.ZodString;
106
+ updated_at: z.ZodString;
107
+ created_by: z.ZodNullable<z.ZodString>;
108
+ updated_by: z.ZodNullable<z.ZodString>;
109
+ }, z.core.$strip>>;
110
+ }, z.core.$strip>;
111
+ }, z.core.$strip>;
112
+ export type EventSitePlanCalibrationAnchor = z.infer<typeof eventSitePlanCalibrationAnchorSchema>;
113
+ export type GetEventSitePlanCalibrationsQuery = z.infer<typeof getEventSitePlanCalibrationsQuerySchema>;
114
+ export type GetEventSitePlanCalibrationsData = z.infer<typeof getEventSitePlanCalibrationsDataSchema>;
115
+ export type GetEventSitePlanCalibrationsResponse = z.infer<typeof getEventSitePlanCalibrationsResponseSchema>;
116
+ export type BulkUpsertEventSitePlanCalibrationsBody = z.infer<typeof bulkUpsertEventSitePlanCalibrationsBodySchema>;
117
+ export type BulkUpsertEventSitePlanCalibrationsData = z.infer<typeof bulkUpsertEventSitePlanCalibrationsDataSchema>;
118
+ export type BulkUpsertEventSitePlanCalibrationsResponse = z.infer<typeof bulkUpsertEventSitePlanCalibrationsResponseSchema>;
@@ -0,0 +1,148 @@
1
+ // packages/phasing-schemas/src/eventSitePlanCalibration.ts
2
+ import { z } from './zod.js';
3
+ import { createSuccessResponseSchema, createMessageDataResponseSchema } from './common.js';
4
+ export const eventSitePlanCalibrationAnchorSchema = z
5
+ .object({
6
+ id: z.number().int().positive().openapi({
7
+ description: 'Calibration anchor ID',
8
+ example: 12
9
+ }),
10
+ event_id: z.number().int().positive().openapi({
11
+ description: 'Event ID this anchor belongs to',
12
+ example: 77
13
+ }),
14
+ name: z.string().min(1).openapi({
15
+ description: 'Readable anchor name (e.g., Gate A)',
16
+ example: 'Gate A'
17
+ }),
18
+ latitude: z.number().min(-90).max(90).openapi({
19
+ description: 'Latitude in decimal degrees',
20
+ example: 48.86245
21
+ }),
22
+ longitude: z.number().min(-180).max(180).openapi({
23
+ description: 'Longitude in decimal degrees',
24
+ example: 2.28791
25
+ }),
26
+ site_plan_x: z.number().min(0).max(100).openapi({
27
+ description: 'Horizontal position on the site plan (0-100%)',
28
+ example: 6.25
29
+ }),
30
+ site_plan_y: z.number().min(0).max(100).openapi({
31
+ description: 'Vertical position on the site plan (0-100%)',
32
+ example: 52.1
33
+ }),
34
+ is_active: z.boolean().openapi({
35
+ description: 'Whether this anchor is active',
36
+ example: true
37
+ }),
38
+ created_at: z.string().openapi({
39
+ description: 'Creation timestamp (ISO 8601)'
40
+ }),
41
+ updated_at: z.string().openapi({
42
+ description: 'Last update timestamp (ISO 8601)'
43
+ }),
44
+ created_by: z.string().uuid().nullable().openapi({
45
+ description: 'User who created the anchor',
46
+ example: '550e8400-e29b-41d4-a716-446655440000'
47
+ }),
48
+ updated_by: z.string().uuid().nullable().openapi({
49
+ description: 'User who last updated the anchor',
50
+ example: '550e8400-e29b-41d4-a716-446655440000'
51
+ })
52
+ })
53
+ .openapi('EventSitePlanCalibrationAnchor');
54
+ export const getEventSitePlanCalibrationsQuerySchema = z
55
+ .object({
56
+ eventId: z
57
+ .string()
58
+ .min(1)
59
+ .transform(val => parseInt(val, 10))
60
+ .refine(val => !isNaN(val) && val > 0, {
61
+ message: 'Event ID must be a positive number'
62
+ })
63
+ .openapi({
64
+ description: 'Event ID',
65
+ example: '77'
66
+ })
67
+ })
68
+ .openapi('GetEventSitePlanCalibrationsQuery');
69
+ export const getEventSitePlanCalibrationsDataSchema = z
70
+ .object({
71
+ event_id: z.number().int().positive().openapi({
72
+ description: 'ID of the event',
73
+ example: 77
74
+ }),
75
+ anchors: z.array(eventSitePlanCalibrationAnchorSchema).openapi({
76
+ description: 'List of calibration anchors for the event'
77
+ }),
78
+ total_count: z.number().int().nonnegative().openapi({
79
+ description: 'Total anchors returned',
80
+ example: 3
81
+ })
82
+ })
83
+ .openapi('GetEventSitePlanCalibrationsData');
84
+ export const getEventSitePlanCalibrationsResponseSchema = createSuccessResponseSchema(getEventSitePlanCalibrationsDataSchema, 'GetEventSitePlanCalibrationsResponse', 'Event site plan calibration anchors');
85
+ const calibrationAnchorInputSchema = z.object({
86
+ id: z.number().int().positive().optional().openapi({
87
+ description: 'Existing anchor ID (omit for new anchors)'
88
+ }),
89
+ name: z.string().min(1, 'Name is required').max(255).openapi({
90
+ description: 'Anchor name',
91
+ example: 'Gate A'
92
+ }),
93
+ latitude: z.number().min(-90).max(90).openapi({
94
+ description: 'Latitude in decimal degrees',
95
+ example: 48.86245
96
+ }),
97
+ longitude: z.number().min(-180).max(180).openapi({
98
+ description: 'Longitude in decimal degrees',
99
+ example: 2.28791
100
+ }),
101
+ site_plan_x: z.number().min(0).max(100).openapi({
102
+ description: 'Horizontal percentage on the site plan',
103
+ example: 6.2
104
+ }),
105
+ site_plan_y: z.number().min(0).max(100).openapi({
106
+ description: 'Vertical percentage on the site plan',
107
+ example: 52.0
108
+ })
109
+ });
110
+ export const bulkUpsertEventSitePlanCalibrationsBodySchema = z
111
+ .object({
112
+ event_id: z.number().int().positive().openapi({
113
+ description: 'ID of the event',
114
+ example: 77
115
+ }),
116
+ anchors: z.array(calibrationAnchorInputSchema).min(0).openapi({
117
+ description: 'Anchors to create or update'
118
+ }),
119
+ deleted_anchor_ids: z
120
+ .array(z.number().int().positive())
121
+ .optional()
122
+ .default([])
123
+ .openapi({
124
+ description: 'IDs of anchors to deactivate',
125
+ example: [3, 5]
126
+ })
127
+ })
128
+ .openapi('BulkUpsertEventSitePlanCalibrationsBody');
129
+ export const bulkUpsertEventSitePlanCalibrationsDataSchema = z
130
+ .object({
131
+ event_id: z.number().int().positive().openapi({
132
+ description: 'Event ID',
133
+ example: 77
134
+ }),
135
+ total_upserted: z.number().int().nonnegative().openapi({
136
+ description: 'Anchors created or updated',
137
+ example: 2
138
+ }),
139
+ total_deactivated: z.number().int().nonnegative().openapi({
140
+ description: 'Anchors deactivated',
141
+ example: 1
142
+ }),
143
+ upserted_anchors: z.array(eventSitePlanCalibrationAnchorSchema).openapi({
144
+ description: 'Details of anchors returned from Supabase'
145
+ })
146
+ })
147
+ .openapi('BulkUpsertEventSitePlanCalibrationsData');
148
+ export const bulkUpsertEventSitePlanCalibrationsResponseSchema = createMessageDataResponseSchema(bulkUpsertEventSitePlanCalibrationsDataSchema, 'BulkUpsertEventSitePlanCalibrationsResponse', 'Calibration anchors upserted successfully', 'Details about the upserted calibration anchors');
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './parkingBooking.js';
5
5
  export * from './parkingArea.js';
6
6
  export * from './parkingAreaLayer.js';
7
7
  export * from './parkingAreaAccess.js';
8
+ export * from './eventSitePlanCalibration.js';
8
9
  export * from './event.js';
9
10
  export * from './accessToken.js';
10
11
  export * from './vehiclePosition.js';
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export * from './parkingBooking.js';
6
6
  export * from './parkingArea.js';
7
7
  export * from './parkingAreaLayer.js';
8
8
  export * from './parkingAreaAccess.js';
9
+ export * from './eventSitePlanCalibration.js';
9
10
  export * from './event.js';
10
11
  export * from './accessToken.js';
11
12
  export * from './vehiclePosition.js';
@@ -132,12 +132,12 @@ export declare const updateAccessDataSchema: z.ZodObject<{
132
132
  updated_at: z.ZodString;
133
133
  event_id: z.ZodNumber;
134
134
  is_active: z.ZodBoolean;
135
+ created_by: z.ZodNullable<z.ZodString>;
136
+ updated_by: z.ZodNullable<z.ZodString>;
135
137
  geometry: z.ZodNullable<z.ZodObject<{
136
138
  type: z.ZodLiteral<"LineString">;
137
139
  coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
138
140
  }, z.core.$strip>>;
139
- created_by: z.ZodNullable<z.ZodString>;
140
- updated_by: z.ZodNullable<z.ZodString>;
141
141
  width_meters: z.ZodNullable<z.ZodNumber>;
142
142
  height_meters: z.ZodNullable<z.ZodNumber>;
143
143
  linked_parking_areas: z.ZodArray<z.ZodObject<{
@@ -155,12 +155,12 @@ export declare const updateAccessResponseSchema: z.ZodObject<{
155
155
  updated_at: z.ZodString;
156
156
  event_id: z.ZodNumber;
157
157
  is_active: z.ZodBoolean;
158
+ created_by: z.ZodNullable<z.ZodString>;
159
+ updated_by: z.ZodNullable<z.ZodString>;
158
160
  geometry: z.ZodNullable<z.ZodObject<{
159
161
  type: z.ZodLiteral<"LineString">;
160
162
  coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
161
163
  }, z.core.$strip>>;
162
- created_by: z.ZodNullable<z.ZodString>;
163
- updated_by: z.ZodNullable<z.ZodString>;
164
164
  width_meters: z.ZodNullable<z.ZodNumber>;
165
165
  height_meters: z.ZodNullable<z.ZodNumber>;
166
166
  linked_parking_areas: z.ZodArray<z.ZodObject<{
@@ -52,12 +52,31 @@ export declare const companyDetailsSchema: z.ZodObject<{
52
52
  driver_phone: z.ZodString;
53
53
  transport_company: z.ZodOptional<z.ZodString>;
54
54
  }, z.core.$strip>;
55
+ export declare const companyDetailsWithMinimalFields: z.ZodObject<{
56
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
57
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
58
+ company_name: z.ZodOptional<z.ZodString>;
59
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
60
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
61
+ contact_name: z.ZodOptional<z.ZodString>;
62
+ email: z.ZodOptional<z.ZodEmail>;
63
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
64
+ driver_name: z.ZodOptional<z.ZodString>;
65
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
66
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
67
+ }, z.core.$strip>;
55
68
  export declare const vehicleDetailsSchema: z.ZodObject<{
56
69
  vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
57
70
  unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
58
71
  license_plate: z.ZodString;
59
72
  trailer_registration: z.ZodOptional<z.ZodString>;
60
73
  }, z.core.$strip>;
74
+ export declare const partialVehicleDetails: z.ZodNullable<z.ZodOptional<z.ZodObject<{
75
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
76
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
77
+ license_plate: z.ZodOptional<z.ZodString>;
78
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
79
+ }, z.core.$strip>>>;
61
80
  export declare const parkingBookingSchema: z.ZodObject<{
62
81
  id: z.ZodNumber;
63
82
  status: z.ZodEnum<typeof BookingStatus>;
@@ -71,24 +90,24 @@ export declare const parkingBookingSchema: z.ZodObject<{
71
90
  end_time: z.ZodNullable<z.ZodString>;
72
91
  company_role: z.ZodNullable<z.ZodString>;
73
92
  company: z.ZodObject<{
74
- hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
75
- stand_number: z.ZodOptional<z.ZodString>;
76
- company_name: z.ZodString;
77
- exhibitor_name: z.ZodOptional<z.ZodString>;
78
- departure_city: z.ZodOptional<z.ZodString>;
79
- contact_name: z.ZodString;
80
- email: z.ZodEmail;
81
- phone: z.ZodString;
82
- driver_name: z.ZodString;
83
- driver_phone: z.ZodString;
84
- transport_company: z.ZodOptional<z.ZodString>;
85
- }, z.core.$strip>;
86
- vehicle: z.ZodObject<{
87
- vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
88
- unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
89
- license_plate: z.ZodString;
90
- trailer_registration: z.ZodOptional<z.ZodString>;
93
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
94
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
95
+ company_name: z.ZodOptional<z.ZodString>;
96
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
97
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
98
+ contact_name: z.ZodOptional<z.ZodString>;
99
+ email: z.ZodOptional<z.ZodEmail>;
100
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
101
+ driver_name: z.ZodOptional<z.ZodString>;
102
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
103
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
91
104
  }, z.core.$strip>;
105
+ vehicle: z.ZodNullable<z.ZodOptional<z.ZodObject<{
106
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
107
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
108
+ license_plate: z.ZodOptional<z.ZodString>;
109
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
110
+ }, z.core.$strip>>>;
92
111
  entry_scanned_at: z.ZodNullable<z.ZodString>;
93
112
  exit_scanned_at: z.ZodNullable<z.ZodString>;
94
113
  parking_spot: z.ZodString;
@@ -96,6 +115,9 @@ export declare const parkingBookingSchema: z.ZodObject<{
96
115
  parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
97
116
  time_zone: z.ZodString;
98
117
  is_custom_slot: z.ZodBoolean;
118
+ is_fast_track_access: z.ZodBoolean;
119
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
120
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
99
121
  }, z.core.$strip>;
100
122
  export declare const eventBookingsDataSchema: z.ZodObject<{
101
123
  event_id: z.ZodNumber;
@@ -114,24 +136,24 @@ export declare const eventBookingsDataSchema: z.ZodObject<{
114
136
  end_time: z.ZodNullable<z.ZodString>;
115
137
  company_role: z.ZodNullable<z.ZodString>;
116
138
  company: z.ZodObject<{
117
- hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
118
- stand_number: z.ZodOptional<z.ZodString>;
119
- company_name: z.ZodString;
120
- exhibitor_name: z.ZodOptional<z.ZodString>;
121
- departure_city: z.ZodOptional<z.ZodString>;
122
- contact_name: z.ZodString;
123
- email: z.ZodEmail;
124
- phone: z.ZodString;
125
- driver_name: z.ZodString;
126
- driver_phone: z.ZodString;
127
- transport_company: z.ZodOptional<z.ZodString>;
128
- }, z.core.$strip>;
129
- vehicle: z.ZodObject<{
130
- vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
131
- unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
132
- license_plate: z.ZodString;
133
- trailer_registration: z.ZodOptional<z.ZodString>;
139
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
140
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
141
+ company_name: z.ZodOptional<z.ZodString>;
142
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
143
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
144
+ contact_name: z.ZodOptional<z.ZodString>;
145
+ email: z.ZodOptional<z.ZodEmail>;
146
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
147
+ driver_name: z.ZodOptional<z.ZodString>;
148
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
149
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
134
150
  }, z.core.$strip>;
151
+ vehicle: z.ZodNullable<z.ZodOptional<z.ZodObject<{
152
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
153
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
154
+ license_plate: z.ZodOptional<z.ZodString>;
155
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
156
+ }, z.core.$strip>>>;
135
157
  entry_scanned_at: z.ZodNullable<z.ZodString>;
136
158
  exit_scanned_at: z.ZodNullable<z.ZodString>;
137
159
  parking_spot: z.ZodString;
@@ -139,6 +161,9 @@ export declare const eventBookingsDataSchema: z.ZodObject<{
139
161
  parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
140
162
  time_zone: z.ZodString;
141
163
  is_custom_slot: z.ZodBoolean;
164
+ is_fast_track_access: z.ZodBoolean;
165
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
166
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
142
167
  }, z.core.$strip>>;
143
168
  total_count: z.ZodNumber;
144
169
  }, z.core.$strip>;
@@ -161,24 +186,24 @@ export declare const eventBookingsResponseSchema: z.ZodObject<{
161
186
  end_time: z.ZodNullable<z.ZodString>;
162
187
  company_role: z.ZodNullable<z.ZodString>;
163
188
  company: z.ZodObject<{
164
- hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
165
- stand_number: z.ZodOptional<z.ZodString>;
166
- company_name: z.ZodString;
167
- exhibitor_name: z.ZodOptional<z.ZodString>;
168
- departure_city: z.ZodOptional<z.ZodString>;
169
- contact_name: z.ZodString;
170
- email: z.ZodEmail;
171
- phone: z.ZodString;
172
- driver_name: z.ZodString;
173
- driver_phone: z.ZodString;
174
- transport_company: z.ZodOptional<z.ZodString>;
175
- }, z.core.$strip>;
176
- vehicle: z.ZodObject<{
177
- vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
178
- unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
179
- license_plate: z.ZodString;
180
- trailer_registration: z.ZodOptional<z.ZodString>;
189
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
190
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
191
+ company_name: z.ZodOptional<z.ZodString>;
192
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
193
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
194
+ contact_name: z.ZodOptional<z.ZodString>;
195
+ email: z.ZodOptional<z.ZodEmail>;
196
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
197
+ driver_name: z.ZodOptional<z.ZodString>;
198
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
199
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
181
200
  }, z.core.$strip>;
201
+ vehicle: z.ZodNullable<z.ZodOptional<z.ZodObject<{
202
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
203
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
204
+ license_plate: z.ZodOptional<z.ZodString>;
205
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
206
+ }, z.core.$strip>>>;
182
207
  entry_scanned_at: z.ZodNullable<z.ZodString>;
183
208
  exit_scanned_at: z.ZodNullable<z.ZodString>;
184
209
  parking_spot: z.ZodString;
@@ -186,6 +211,9 @@ export declare const eventBookingsResponseSchema: z.ZodObject<{
186
211
  parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
187
212
  time_zone: z.ZodString;
188
213
  is_custom_slot: z.ZodBoolean;
214
+ is_fast_track_access: z.ZodBoolean;
215
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
216
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
189
217
  }, z.core.$strip>>;
190
218
  total_count: z.ZodNumber;
191
219
  }, z.core.$strip>;
@@ -515,6 +543,7 @@ export declare const parkingBookingWithRelationsSchema: z.ZodObject<{
515
543
  banner: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
516
544
  latitude: z.ZodNullable<z.ZodNumber>;
517
545
  longitude: z.ZodNullable<z.ZodNumber>;
546
+ door: z.ZodNullable<z.ZodString>;
518
547
  venues: z.ZodNullable<z.ZodObject<{
519
548
  id: z.ZodNumber;
520
549
  name: z.ZodString;
@@ -523,11 +552,14 @@ export declare const parkingBookingWithRelationsSchema: z.ZodObject<{
523
552
  }, z.core.$strip>;
524
553
  parking_spot: z.ZodString;
525
554
  door: z.ZodString;
526
- parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
555
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
527
556
  slot_key: z.ZodNullable<z.ZodString>;
528
557
  entry_scanned_at: z.ZodNullable<z.ZodString>;
529
558
  exit_scanned_at: z.ZodNullable<z.ZodString>;
530
559
  is_custom_slot: z.ZodBoolean;
560
+ is_fast_track_access: z.ZodBoolean;
561
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
562
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
531
563
  }, z.core.$strip>;
532
564
  export declare const getParkingBookingDetailsParamsSchema: z.ZodObject<{
533
565
  bookingId: z.ZodCoercedNumber<unknown>;
@@ -542,24 +574,24 @@ export declare const parkingBookingDetailsDataSchema: z.ZodObject<{
542
574
  end_time: z.ZodString;
543
575
  company_role: z.ZodNullable<z.ZodString>;
544
576
  company: z.ZodObject<{
545
- hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
546
- stand_number: z.ZodOptional<z.ZodString>;
547
- company_name: z.ZodString;
548
- exhibitor_name: z.ZodOptional<z.ZodString>;
549
- departure_city: z.ZodOptional<z.ZodString>;
550
- contact_name: z.ZodString;
551
- email: z.ZodEmail;
552
- phone: z.ZodString;
553
- driver_name: z.ZodString;
554
- driver_phone: z.ZodString;
555
- transport_company: z.ZodOptional<z.ZodString>;
556
- }, z.core.$strip>;
557
- vehicle: z.ZodObject<{
558
- vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
559
- unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
560
- license_plate: z.ZodString;
561
- trailer_registration: z.ZodOptional<z.ZodString>;
577
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
578
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
579
+ company_name: z.ZodOptional<z.ZodString>;
580
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
581
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
582
+ contact_name: z.ZodOptional<z.ZodString>;
583
+ email: z.ZodOptional<z.ZodEmail>;
584
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
585
+ driver_name: z.ZodOptional<z.ZodString>;
586
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
587
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
562
588
  }, z.core.$strip>;
589
+ vehicle: z.ZodNullable<z.ZodOptional<z.ZodObject<{
590
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
591
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
592
+ license_plate: z.ZodOptional<z.ZodString>;
593
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
594
+ }, z.core.$strip>>>;
563
595
  event_id: z.ZodNumber;
564
596
  event_name: z.ZodString;
565
597
  event_code: z.ZodString;
@@ -570,7 +602,6 @@ export declare const parkingBookingDetailsDataSchema: z.ZodObject<{
570
602
  venue_id: z.ZodNullable<z.ZodNumber>;
571
603
  venue_name: z.ZodNullable<z.ZodString>;
572
604
  venue_address: z.ZodNullable<z.ZodString>;
573
- request_type: z.ZodString;
574
605
  duration: z.ZodNumber;
575
606
  banner: z.ZodNullable<z.ZodObject<{
576
607
  url: z.ZodURL;
@@ -584,11 +615,14 @@ export declare const parkingBookingDetailsDataSchema: z.ZodObject<{
584
615
  updated_at: z.ZodString;
585
616
  entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
586
617
  exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
587
- slot_key: z.ZodString;
618
+ slot_key: z.ZodNullable<z.ZodString>;
588
619
  parking_spot: z.ZodString;
589
620
  door: z.ZodString;
590
- parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
621
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
591
622
  is_custom_slot: z.ZodBoolean;
623
+ is_fast_track_access: z.ZodBoolean;
624
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
625
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
592
626
  }, z.core.$strip>;
593
627
  export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
594
628
  success: z.ZodBoolean;
@@ -602,24 +636,24 @@ export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
602
636
  end_time: z.ZodString;
603
637
  company_role: z.ZodNullable<z.ZodString>;
604
638
  company: z.ZodObject<{
605
- hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
606
- stand_number: z.ZodOptional<z.ZodString>;
607
- company_name: z.ZodString;
608
- exhibitor_name: z.ZodOptional<z.ZodString>;
609
- departure_city: z.ZodOptional<z.ZodString>;
610
- contact_name: z.ZodString;
611
- email: z.ZodEmail;
612
- phone: z.ZodString;
613
- driver_name: z.ZodString;
614
- driver_phone: z.ZodString;
615
- transport_company: z.ZodOptional<z.ZodString>;
616
- }, z.core.$strip>;
617
- vehicle: z.ZodObject<{
618
- vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
619
- unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
620
- license_plate: z.ZodString;
621
- trailer_registration: z.ZodOptional<z.ZodString>;
639
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
640
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
641
+ company_name: z.ZodOptional<z.ZodString>;
642
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
643
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
644
+ contact_name: z.ZodOptional<z.ZodString>;
645
+ email: z.ZodOptional<z.ZodEmail>;
646
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
647
+ driver_name: z.ZodOptional<z.ZodString>;
648
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
649
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
622
650
  }, z.core.$strip>;
651
+ vehicle: z.ZodNullable<z.ZodOptional<z.ZodObject<{
652
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
653
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
654
+ license_plate: z.ZodOptional<z.ZodString>;
655
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
656
+ }, z.core.$strip>>>;
623
657
  event_id: z.ZodNumber;
624
658
  event_name: z.ZodString;
625
659
  event_code: z.ZodString;
@@ -630,7 +664,6 @@ export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
630
664
  venue_id: z.ZodNullable<z.ZodNumber>;
631
665
  venue_name: z.ZodNullable<z.ZodString>;
632
666
  venue_address: z.ZodNullable<z.ZodString>;
633
- request_type: z.ZodString;
634
667
  duration: z.ZodNumber;
635
668
  banner: z.ZodNullable<z.ZodObject<{
636
669
  url: z.ZodURL;
@@ -644,16 +677,142 @@ export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
644
677
  updated_at: z.ZodString;
645
678
  entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
646
679
  exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
647
- slot_key: z.ZodString;
680
+ slot_key: z.ZodNullable<z.ZodString>;
648
681
  parking_spot: z.ZodString;
649
682
  door: z.ZodString;
650
- parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
683
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
651
684
  is_custom_slot: z.ZodBoolean;
685
+ is_fast_track_access: z.ZodBoolean;
686
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
687
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
652
688
  }, z.core.$strip>;
653
689
  }, z.core.$strip>;
654
690
  export declare const getParkingBookingDetailsByTokenBodySchema: z.ZodObject<{
655
691
  access_token: z.ZodString;
656
692
  }, z.core.$strip>;
693
+ export declare const parkingBookingDetailsByTokenDataSchema: z.ZodObject<{
694
+ qr_token: z.ZodNullable<z.ZodString>;
695
+ id: z.ZodNumber;
696
+ booking_id: z.ZodNumber;
697
+ status: z.ZodString;
698
+ booking_date: z.ZodString;
699
+ start_time: z.ZodString;
700
+ end_time: z.ZodString;
701
+ company_role: z.ZodNullable<z.ZodString>;
702
+ event_id: z.ZodNumber;
703
+ event_name: z.ZodString;
704
+ event_code: z.ZodString;
705
+ event_gps_latitude: z.ZodNullable<z.ZodNumber>;
706
+ event_gps_longitude: z.ZodNullable<z.ZodNumber>;
707
+ event_start_date: z.ZodString;
708
+ event_end_date: z.ZodString;
709
+ venue_id: z.ZodNullable<z.ZodNumber>;
710
+ venue_name: z.ZodNullable<z.ZodString>;
711
+ venue_address: z.ZodNullable<z.ZodString>;
712
+ duration: z.ZodNumber;
713
+ banner: z.ZodNullable<z.ZodObject<{
714
+ url: z.ZodURL;
715
+ name: z.ZodOptional<z.ZodString>;
716
+ size: z.ZodOptional<z.ZodNumber>;
717
+ bucket: z.ZodOptional<z.ZodString>;
718
+ type: z.ZodOptional<z.ZodString>;
719
+ path: z.ZodOptional<z.ZodString>;
720
+ }, z.core.$strip>>;
721
+ created_at: z.ZodString;
722
+ updated_at: z.ZodString;
723
+ entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
724
+ exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
725
+ parking_spot: z.ZodString;
726
+ door: z.ZodString;
727
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
728
+ is_custom_slot: z.ZodBoolean;
729
+ is_fast_track_access: z.ZodBoolean;
730
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
731
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
732
+ company: z.ZodObject<{
733
+ hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
734
+ stand_number: z.ZodOptional<z.ZodString>;
735
+ company_name: z.ZodString;
736
+ exhibitor_name: z.ZodOptional<z.ZodString>;
737
+ departure_city: z.ZodOptional<z.ZodString>;
738
+ contact_name: z.ZodString;
739
+ email: z.ZodEmail;
740
+ phone: z.ZodString;
741
+ driver_name: z.ZodString;
742
+ driver_phone: z.ZodString;
743
+ transport_company: z.ZodOptional<z.ZodString>;
744
+ }, z.core.$strip>;
745
+ vehicle: z.ZodObject<{
746
+ vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
747
+ unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
748
+ license_plate: z.ZodString;
749
+ trailer_registration: z.ZodOptional<z.ZodString>;
750
+ }, z.core.$strip>;
751
+ slot_key: z.ZodString;
752
+ }, z.core.$strip>;
753
+ export declare const getParkingBookingDetailsByTokenResponseSchema: z.ZodObject<{
754
+ success: z.ZodBoolean;
755
+ data: z.ZodObject<{
756
+ qr_token: z.ZodNullable<z.ZodString>;
757
+ id: z.ZodNumber;
758
+ booking_id: z.ZodNumber;
759
+ status: z.ZodString;
760
+ booking_date: z.ZodString;
761
+ start_time: z.ZodString;
762
+ end_time: z.ZodString;
763
+ company_role: z.ZodNullable<z.ZodString>;
764
+ event_id: z.ZodNumber;
765
+ event_name: z.ZodString;
766
+ event_code: z.ZodString;
767
+ event_gps_latitude: z.ZodNullable<z.ZodNumber>;
768
+ event_gps_longitude: z.ZodNullable<z.ZodNumber>;
769
+ event_start_date: z.ZodString;
770
+ event_end_date: z.ZodString;
771
+ venue_id: z.ZodNullable<z.ZodNumber>;
772
+ venue_name: z.ZodNullable<z.ZodString>;
773
+ venue_address: z.ZodNullable<z.ZodString>;
774
+ duration: z.ZodNumber;
775
+ banner: z.ZodNullable<z.ZodObject<{
776
+ url: z.ZodURL;
777
+ name: z.ZodOptional<z.ZodString>;
778
+ size: z.ZodOptional<z.ZodNumber>;
779
+ bucket: z.ZodOptional<z.ZodString>;
780
+ type: z.ZodOptional<z.ZodString>;
781
+ path: z.ZodOptional<z.ZodString>;
782
+ }, z.core.$strip>>;
783
+ created_at: z.ZodString;
784
+ updated_at: z.ZodString;
785
+ entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
+ exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
787
+ parking_spot: z.ZodString;
788
+ door: z.ZodString;
789
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
790
+ is_custom_slot: z.ZodBoolean;
791
+ is_fast_track_access: z.ZodBoolean;
792
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
793
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
794
+ company: z.ZodObject<{
795
+ hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
796
+ stand_number: z.ZodOptional<z.ZodString>;
797
+ company_name: z.ZodString;
798
+ exhibitor_name: z.ZodOptional<z.ZodString>;
799
+ departure_city: z.ZodOptional<z.ZodString>;
800
+ contact_name: z.ZodString;
801
+ email: z.ZodEmail;
802
+ phone: z.ZodString;
803
+ driver_name: z.ZodString;
804
+ driver_phone: z.ZodString;
805
+ transport_company: z.ZodOptional<z.ZodString>;
806
+ }, z.core.$strip>;
807
+ vehicle: z.ZodObject<{
808
+ vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
809
+ unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
810
+ license_plate: z.ZodString;
811
+ trailer_registration: z.ZodOptional<z.ZodString>;
812
+ }, z.core.$strip>;
813
+ slot_key: z.ZodString;
814
+ }, z.core.$strip>;
815
+ }, z.core.$strip>;
657
816
  export declare const getParkingBookingDetailsByQrBodySchema: z.ZodObject<{
658
817
  qr_token: z.ZodString;
659
818
  scanner_latitude: z.ZodOptional<z.ZodNumber>;
@@ -814,10 +973,80 @@ export declare const updateBookingTimeResponseSchema: z.ZodObject<{
814
973
  updated_by: z.ZodNullable<z.ZodString>;
815
974
  }, z.core.$strip>;
816
975
  }, z.core.$strip>;
976
+ export declare const createFastTrackBookingBodySchema: z.ZodObject<{
977
+ phone_number: z.ZodString;
978
+ event_id: z.ZodNumber;
979
+ license_plate_image_url: z.ZodURL;
980
+ applicant_badge_image_url: z.ZodURL;
981
+ }, z.core.$strip>;
982
+ export declare const createFastTrackBookingDataSchema: z.ZodObject<{
983
+ id: z.ZodNumber;
984
+ status: z.ZodString;
985
+ company: z.ZodObject<{
986
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
987
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
988
+ company_name: z.ZodOptional<z.ZodString>;
989
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
990
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
991
+ contact_name: z.ZodOptional<z.ZodString>;
992
+ email: z.ZodOptional<z.ZodEmail>;
993
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
994
+ driver_name: z.ZodOptional<z.ZodString>;
995
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
996
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
997
+ }, z.core.$strip>;
998
+ booking_date: z.ZodString;
999
+ start_time: z.ZodString;
1000
+ end_time: z.ZodString;
1001
+ event_id: z.ZodNumber;
1002
+ parking_spot: z.ZodString;
1003
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
1004
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
1005
+ is_fast_track_access: z.ZodBoolean;
1006
+ created_at: z.ZodString;
1007
+ created_by: z.ZodNullable<z.ZodString>;
1008
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
1009
+ door: z.ZodString;
1010
+ }, z.core.$strip>;
1011
+ export declare const createFastTrackBookingResponseSchema: z.ZodObject<{
1012
+ success: z.ZodBoolean;
1013
+ message: z.ZodString;
1014
+ data: z.ZodObject<{
1015
+ id: z.ZodNumber;
1016
+ status: z.ZodString;
1017
+ company: z.ZodObject<{
1018
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
1019
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1020
+ company_name: z.ZodOptional<z.ZodString>;
1021
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1022
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1023
+ contact_name: z.ZodOptional<z.ZodString>;
1024
+ email: z.ZodOptional<z.ZodEmail>;
1025
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
1026
+ driver_name: z.ZodOptional<z.ZodString>;
1027
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
1028
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1029
+ }, z.core.$strip>;
1030
+ booking_date: z.ZodString;
1031
+ start_time: z.ZodString;
1032
+ end_time: z.ZodString;
1033
+ event_id: z.ZodNumber;
1034
+ parking_spot: z.ZodString;
1035
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
1036
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
1037
+ is_fast_track_access: z.ZodBoolean;
1038
+ created_at: z.ZodString;
1039
+ created_by: z.ZodNullable<z.ZodString>;
1040
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
1041
+ door: z.ZodString;
1042
+ }, z.core.$strip>;
1043
+ }, z.core.$strip>;
817
1044
  export type Geometry = z.infer<typeof geometrySchema>;
818
1045
  export type ParkingBooking = z.infer<typeof parkingBookingSchema>;
819
1046
  export type CompanyDetails = z.infer<typeof companyDetailsSchema>;
1047
+ export type CompanyDetailsWithMinimalFields = z.infer<typeof companyDetailsWithMinimalFields>;
820
1048
  export type VehicleDetails = z.infer<typeof vehicleDetailsSchema>;
1049
+ export type PartialVehicleDetails = z.infer<typeof partialVehicleDetails>;
821
1050
  export type EventBookingsData = z.infer<typeof eventBookingsDataSchema>;
822
1051
  export type CheckSlotAvailabilityBody = z.infer<typeof checkSlotAvailabilityBodySchema>;
823
1052
  export type CheckSlotAvailabilityData = z.infer<typeof availableTimeSlotV2Schema>;
@@ -844,6 +1073,8 @@ export type GetBookingDetailsParams = z.infer<typeof getParkingBookingDetailsPar
844
1073
  export type GetBookingDetailsData = z.infer<typeof parkingBookingDetailsDataSchema>;
845
1074
  export type GetBookingDetailsResponse = z.infer<typeof getParkingBookingDetailsResponseSchema>;
846
1075
  export type GetBookingDetailsByTokenBody = z.infer<typeof getParkingBookingDetailsByTokenBodySchema>;
1076
+ export type ParkingBookingDetailsByTokenData = z.infer<typeof parkingBookingDetailsByTokenDataSchema>;
1077
+ export type GetParkingBookingDetailsByTokenResponse = z.infer<typeof getParkingBookingDetailsByTokenResponseSchema>;
847
1078
  export type GetBookingDetailsByQrBody = z.infer<typeof getParkingBookingDetailsByQrBodySchema>;
848
1079
  export type ConfirmBookingData = z.infer<typeof confirmBookingDataSchema>;
849
1080
  export type ConfirmBookingDataResponse = z.infer<typeof confirmBookingResponseSchema>;
@@ -856,3 +1087,9 @@ export type UpdateBookingTimeBody = z.infer<typeof updateBookingTimeBodySchema>;
856
1087
  export type UpdateBookingTimeData = z.infer<typeof updateBookingTimeDataSchema>;
857
1088
  export type UpdateBookingTimeResponse = z.infer<typeof updateBookingTimeResponseSchema>;
858
1089
  export type UpdateParkingBookingResponse = z.infer<typeof updateParkingBookingResponseSchema>;
1090
+ export type CreateFastTrackBookingBody = z.infer<typeof createFastTrackBookingBodySchema>;
1091
+ export type CreateFastTrackBookingData = z.infer<typeof createFastTrackBookingDataSchema>;
1092
+ export type CreateFastTrackBookingResponse = z.infer<typeof createFastTrackBookingResponseSchema>;
1093
+ export type ConfirmAccessBody = z.infer<typeof confirmAccessBodySchema>;
1094
+ export type ConfirmAccessData = z.infer<typeof confirmAccessDataSchema>;
1095
+ export type ConfirmAccessResponse = z.infer<typeof confirmAccessResponseSchema>;
@@ -133,6 +133,13 @@ export const companyDetailsSchema = z
133
133
  })
134
134
  })
135
135
  .openapi('CompanyDetails');
136
+ export const companyDetailsWithMinimalFields = companyDetailsSchema
137
+ .partial()
138
+ .required({
139
+ phone: true,
140
+ driver_phone: true
141
+ })
142
+ .openapi('CompanyDetailsWithMandatoryFields');
136
143
  export const vehicleDetailsSchema = z
137
144
  .object({
138
145
  vehicle_type: vehicleTypeSchema,
@@ -150,6 +157,11 @@ export const vehicleDetailsSchema = z
150
157
  })
151
158
  })
152
159
  .openapi('VehicleDetails');
160
+ export const partialVehicleDetails = vehicleDetailsSchema
161
+ .partial()
162
+ .optional()
163
+ .nullable()
164
+ .openapi('PartialVehicleDetails');
153
165
  // TODO: remove booking_date, start_time, end_time, time_zone and migrate to start_time with timezone info and end_time with timezone info
154
166
  // so that we have full timezone support from db level
155
167
  export const parkingBookingSchema = z.object({
@@ -164,15 +176,18 @@ export const parkingBookingSchema = z.object({
164
176
  start_time: z.string().nullable(),
165
177
  end_time: z.string().nullable(),
166
178
  company_role: z.string().nullable(),
167
- company: companyDetailsSchema,
168
- vehicle: vehicleDetailsSchema,
179
+ company: companyDetailsWithMinimalFields,
180
+ vehicle: partialVehicleDetails,
169
181
  entry_scanned_at: z.string().nullable(),
170
182
  exit_scanned_at: z.string().nullable(),
171
183
  parking_spot: z.string(),
172
184
  door: z.string(),
173
185
  parking_schedule_type: z.enum(ParkingAreaScheduleType),
174
186
  time_zone: z.string(),
175
- is_custom_slot: z.boolean()
187
+ is_custom_slot: z.boolean(),
188
+ is_fast_track_access: z.boolean(),
189
+ license_plate_image_url: z.string().nullable(),
190
+ applicant_badge_image_url: z.string().nullable()
176
191
  });
177
192
  export const eventBookingsDataSchema = z
178
193
  .object({
@@ -503,6 +518,7 @@ export const parkingBookingWithRelationsSchema = z
503
518
  banner: z.record(z.string(), z.unknown()).nullable(),
504
519
  latitude: z.number().nullable(),
505
520
  longitude: z.number().nullable(),
521
+ door: z.string().nullable(),
506
522
  venues: z
507
523
  .object({
508
524
  id: z.number(),
@@ -513,11 +529,14 @@ export const parkingBookingWithRelationsSchema = z
513
529
  }),
514
530
  parking_spot: z.string(),
515
531
  door: z.string(),
516
- parking_schedule_type: z.enum(ParkingAreaScheduleType),
532
+ parking_schedule_type: z.enum(ParkingAreaScheduleType).nullable(),
517
533
  slot_key: z.string().nullable(),
518
534
  entry_scanned_at: z.string().nullable(),
519
535
  exit_scanned_at: z.string().nullable(),
520
- is_custom_slot: z.boolean()
536
+ is_custom_slot: z.boolean(),
537
+ is_fast_track_access: z.boolean(),
538
+ license_plate_image_url: z.string().nullable(),
539
+ applicant_badge_image_url: z.string().nullable()
521
540
  })
522
541
  .openapi('ParkingBookingWithRelations');
523
542
  // ------------------------------
@@ -564,12 +583,8 @@ export const parkingBookingDetailsDataSchema = z
564
583
  description: 'Company role for the booking',
565
584
  example: 'exhibitor'
566
585
  }),
567
- company: companyDetailsSchema.openapi({
568
- description: 'Company details'
569
- }),
570
- vehicle: vehicleDetailsSchema.openapi({
571
- description: 'Vehicle details'
572
- }),
586
+ company: companyDetailsWithMinimalFields,
587
+ vehicle: partialVehicleDetails,
573
588
  event_id: z.number().openapi({
574
589
  description: 'ID of the event',
575
590
  example: 1
@@ -610,10 +625,6 @@ export const parkingBookingDetailsDataSchema = z
610
625
  description: 'Address of the venue',
611
626
  example: '1 Pl. de la Prte de Versailles, 75015 Paris, France'
612
627
  }),
613
- request_type: z.string().openapi({
614
- description: 'Type of parking area schedule (assembly/dismantling)',
615
- example: 'assembly'
616
- }),
617
628
  duration: z.number().openapi({
618
629
  description: 'Duration of the booking in minutes',
619
630
  example: 30
@@ -642,7 +653,7 @@ export const parkingBookingDetailsDataSchema = z
642
653
  description: 'Timestamp when exit was scanned',
643
654
  example: '2025-12-15T08:25:00.000Z'
644
655
  }),
645
- slot_key: z.string().openapi({
656
+ slot_key: z.string().nullable().openapi({
646
657
  description: 'Unique key identifying the booked time slot',
647
658
  example: 'MainEntrance_2025-12-15_08:00'
648
659
  }),
@@ -654,13 +665,25 @@ export const parkingBookingDetailsDataSchema = z
654
665
  description: 'Assigned door for the booking',
655
666
  example: 'North Gate'
656
667
  }),
657
- parking_schedule_type: z.enum(ParkingAreaScheduleType).openapi({
668
+ parking_schedule_type: z.enum(ParkingAreaScheduleType).nullable().openapi({
658
669
  description: 'Type of parking area schedule',
659
670
  example: 'assembly'
660
671
  }),
661
672
  is_custom_slot: z.boolean().openapi({
662
673
  description: 'Indicates if the booking is for a custom time slot',
663
674
  example: false
675
+ }),
676
+ is_fast_track_access: z.boolean().openapi({
677
+ description: 'Indicates if the booking has fast track access',
678
+ example: true
679
+ }),
680
+ license_plate_image_url: z.string().nullable().openapi({
681
+ description: 'URL of the license plate image',
682
+ example: 'https://example.com/license-plate.jpg'
683
+ }),
684
+ applicant_badge_image_url: z.string().nullable().openapi({
685
+ description: 'URL of the applicant badge image',
686
+ example: 'https://example.com/applicant-badge.jpg'
664
687
  })
665
688
  })
666
689
  .openapi('ParkingBookingDetailsData');
@@ -676,6 +699,25 @@ export const getParkingBookingDetailsByTokenBodySchema = z
676
699
  })
677
700
  })
678
701
  .openapi('GetParkingBookingDetailsByTokenBody');
702
+ // Extends parkingBookingDetailsDataSchema with stricter validation:
703
+ // - company: full schema (not partial)
704
+ // - vehicle: full schema (not partial)
705
+ // - slot_key: non-nullable
706
+ export const parkingBookingDetailsByTokenDataSchema = parkingBookingDetailsDataSchema
707
+ .extend({
708
+ company: companyDetailsSchema.openapi({
709
+ description: 'Company details (all fields required)'
710
+ }),
711
+ vehicle: vehicleDetailsSchema.openapi({
712
+ description: 'Vehicle details (all fields required)'
713
+ }),
714
+ slot_key: z.string().openapi({
715
+ description: 'Unique key identifying the booked time slot',
716
+ example: 'MainEntrance_2025-12-15_08:00'
717
+ })
718
+ })
719
+ .openapi('ParkingBookingDetailsByTokenData');
720
+ export const getParkingBookingDetailsByTokenResponseSchema = createSuccessResponseSchema(parkingBookingDetailsByTokenDataSchema, 'GetParkingBookingDetailsByTokenResponse', 'Booking details retrieved by access token with complete company and vehicle information');
679
721
  // ------------------------------
680
722
  // Get booking details by QR schemas
681
723
  // ------------------------------
@@ -699,7 +741,6 @@ export const getParkingBookingDetailsByQrBodySchema = z
699
741
  })
700
742
  })
701
743
  .openapi('GetBookingDetailsByQrBody');
702
- // ------------------------------
703
744
  // Export All Parking Bookings
704
745
  // ------------------------------
705
746
  export const exportBookingDataSchema = z
@@ -940,3 +981,46 @@ export const updateBookingTimeDataSchema = z
940
981
  })
941
982
  .openapi('UpdateBookingTimeData');
942
983
  export const updateBookingTimeResponseSchema = createMessageDataResponseSchema(updateBookingTimeDataSchema, 'UpdateBookingTimeResponse', 'Booking time updated successfully', 'Details of the updated booking time');
984
+ // ------------------------------
985
+ // Fast-Track Parking Booking schemas
986
+ // ------------------------------
987
+ export const createFastTrackBookingBodySchema = z
988
+ .object({
989
+ phone_number: z.string().min(1, 'Phone number is required').openapi({
990
+ description: 'Contact phone number for fast-track booking',
991
+ example: '+33123456789'
992
+ }),
993
+ event_id: z.number().positive().openapi({
994
+ description: 'ID of the event for the fast-track booking',
995
+ example: 1
996
+ }),
997
+ license_plate_image_url: z.url().openapi({
998
+ description: 'URL of the license plate image (optional)',
999
+ example: 'https://example.com/plates/abc123.jpg'
1000
+ }),
1001
+ applicant_badge_image_url: z.url().openapi({
1002
+ description: 'URL of the applicant badge image (optional)',
1003
+ example: 'https://example.com/badges/applicant456.jpg'
1004
+ })
1005
+ })
1006
+ .openapi('CreateFastTrackBookingBody');
1007
+ export const createFastTrackBookingDataSchema = z
1008
+ .object({
1009
+ id: z.number(),
1010
+ status: z.string(),
1011
+ company: companyDetailsWithMinimalFields,
1012
+ booking_date: z.string(),
1013
+ start_time: z.string(),
1014
+ end_time: z.string(),
1015
+ event_id: z.number(),
1016
+ parking_spot: z.string(),
1017
+ license_plate_image_url: z.string().nullable(),
1018
+ applicant_badge_image_url: z.string().nullable(),
1019
+ is_fast_track_access: z.boolean(),
1020
+ created_at: z.string(),
1021
+ created_by: z.string().nullable(),
1022
+ parking_schedule_type: z.enum(ParkingAreaScheduleType).nullable(),
1023
+ door: z.string()
1024
+ })
1025
+ .openapi('CreateFastTrackBookingData');
1026
+ export const createFastTrackBookingResponseSchema = createMessageDataResponseSchema(createFastTrackBookingDataSchema, 'CreateFastTrackBookingResponse', 'Fast-track parking booking created successfully', 'Details of the created fast-track booking');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venulog/phasing-engine-schemas",
3
- "version": "0.13.1",
3
+ "version": "0.13.3-alpha.0",
4
4
  "description": "Shared schemas and types for Phasing Engine API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -65,6 +65,10 @@
65
65
  "./exhibitor": {
66
66
  "types": "./dist/exhibitor.d.ts",
67
67
  "import": "./dist/exhibitor.js"
68
+ },
69
+ "./eventSitePlanCalibration": {
70
+ "types": "./dist/eventSitePlanCalibration.d.ts",
71
+ "import": "./dist/eventSitePlanCalibration.js"
68
72
  }
69
73
  },
70
74
  "files": [
@@ -73,7 +77,7 @@
73
77
  "scripts": {
74
78
  "build": "npm run clean && tsc",
75
79
  "dev": "tsc --watch",
76
- "clean": "rm -rf dist",
80
+ "clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
77
81
  "prepublishOnly": "npm run build"
78
82
  },
79
83
  "keywords": [