@venulog/phasing-engine-schemas 0.13.2 → 0.13.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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>;
@@ -523,11 +551,14 @@ export declare const parkingBookingWithRelationsSchema: z.ZodObject<{
523
551
  }, z.core.$strip>>;
524
552
  }, z.core.$strip>;
525
553
  parking_spot: z.ZodString;
526
- parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
554
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
527
555
  slot_key: z.ZodNullable<z.ZodString>;
528
556
  entry_scanned_at: z.ZodNullable<z.ZodString>;
529
557
  exit_scanned_at: z.ZodNullable<z.ZodString>;
530
558
  is_custom_slot: z.ZodBoolean;
559
+ is_fast_track_access: z.ZodBoolean;
560
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
561
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
531
562
  }, z.core.$strip>;
532
563
  export declare const getParkingBookingDetailsParamsSchema: z.ZodObject<{
533
564
  bookingId: z.ZodCoercedNumber<unknown>;
@@ -542,24 +573,24 @@ export declare const parkingBookingDetailsDataSchema: z.ZodObject<{
542
573
  end_time: z.ZodString;
543
574
  company_role: z.ZodNullable<z.ZodString>;
544
575
  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>;
576
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
577
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
578
+ company_name: z.ZodOptional<z.ZodString>;
579
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
580
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
581
+ contact_name: z.ZodOptional<z.ZodString>;
582
+ email: z.ZodOptional<z.ZodEmail>;
583
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
584
+ driver_name: z.ZodOptional<z.ZodString>;
585
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
586
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
562
587
  }, z.core.$strip>;
588
+ vehicle: z.ZodNullable<z.ZodOptional<z.ZodObject<{
589
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
590
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
591
+ license_plate: z.ZodOptional<z.ZodString>;
592
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
593
+ }, z.core.$strip>>>;
563
594
  event_id: z.ZodNumber;
564
595
  event_name: z.ZodString;
565
596
  event_code: z.ZodString;
@@ -570,7 +601,6 @@ export declare const parkingBookingDetailsDataSchema: z.ZodObject<{
570
601
  venue_id: z.ZodNullable<z.ZodNumber>;
571
602
  venue_name: z.ZodNullable<z.ZodString>;
572
603
  venue_address: z.ZodNullable<z.ZodString>;
573
- request_type: z.ZodString;
574
604
  duration: z.ZodNumber;
575
605
  banner: z.ZodNullable<z.ZodObject<{
576
606
  url: z.ZodURL;
@@ -584,11 +614,14 @@ export declare const parkingBookingDetailsDataSchema: z.ZodObject<{
584
614
  updated_at: z.ZodString;
585
615
  entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
586
616
  exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
587
- slot_key: z.ZodString;
617
+ slot_key: z.ZodNullable<z.ZodString>;
588
618
  parking_spot: z.ZodString;
589
619
  door: z.ZodString;
590
- parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
620
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
591
621
  is_custom_slot: z.ZodBoolean;
622
+ is_fast_track_access: z.ZodBoolean;
623
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
624
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
592
625
  }, z.core.$strip>;
593
626
  export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
594
627
  success: z.ZodBoolean;
@@ -602,24 +635,24 @@ export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
602
635
  end_time: z.ZodString;
603
636
  company_role: z.ZodNullable<z.ZodString>;
604
637
  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>;
638
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
639
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
640
+ company_name: z.ZodOptional<z.ZodString>;
641
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
642
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
643
+ contact_name: z.ZodOptional<z.ZodString>;
644
+ email: z.ZodOptional<z.ZodEmail>;
645
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
646
+ driver_name: z.ZodOptional<z.ZodString>;
647
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
648
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
622
649
  }, z.core.$strip>;
650
+ vehicle: z.ZodNullable<z.ZodOptional<z.ZodObject<{
651
+ vehicle_type: z.ZodOptional<z.ZodEnum<typeof import("./index.js").VehicleType>>;
652
+ unloading_method: z.ZodOptional<z.ZodOptional<z.ZodEnum<typeof UnloadingType>>>;
653
+ license_plate: z.ZodOptional<z.ZodString>;
654
+ trailer_registration: z.ZodOptional<z.ZodOptional<z.ZodString>>;
655
+ }, z.core.$strip>>>;
623
656
  event_id: z.ZodNumber;
624
657
  event_name: z.ZodString;
625
658
  event_code: z.ZodString;
@@ -630,7 +663,6 @@ export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
630
663
  venue_id: z.ZodNullable<z.ZodNumber>;
631
664
  venue_name: z.ZodNullable<z.ZodString>;
632
665
  venue_address: z.ZodNullable<z.ZodString>;
633
- request_type: z.ZodString;
634
666
  duration: z.ZodNumber;
635
667
  banner: z.ZodNullable<z.ZodObject<{
636
668
  url: z.ZodURL;
@@ -644,16 +676,142 @@ export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
644
676
  updated_at: z.ZodString;
645
677
  entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
646
678
  exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
647
- slot_key: z.ZodString;
679
+ slot_key: z.ZodNullable<z.ZodString>;
648
680
  parking_spot: z.ZodString;
649
681
  door: z.ZodString;
650
- parking_schedule_type: z.ZodEnum<typeof ParkingAreaScheduleType>;
682
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
651
683
  is_custom_slot: z.ZodBoolean;
684
+ is_fast_track_access: z.ZodBoolean;
685
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
686
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
652
687
  }, z.core.$strip>;
653
688
  }, z.core.$strip>;
654
689
  export declare const getParkingBookingDetailsByTokenBodySchema: z.ZodObject<{
655
690
  access_token: z.ZodString;
656
691
  }, z.core.$strip>;
692
+ export declare const parkingBookingDetailsByTokenDataSchema: z.ZodObject<{
693
+ qr_token: z.ZodNullable<z.ZodString>;
694
+ id: z.ZodNumber;
695
+ booking_id: z.ZodNumber;
696
+ status: z.ZodString;
697
+ booking_date: z.ZodString;
698
+ start_time: z.ZodString;
699
+ end_time: z.ZodString;
700
+ company_role: z.ZodNullable<z.ZodString>;
701
+ event_id: z.ZodNumber;
702
+ event_name: z.ZodString;
703
+ event_code: z.ZodString;
704
+ event_gps_latitude: z.ZodNullable<z.ZodNumber>;
705
+ event_gps_longitude: z.ZodNullable<z.ZodNumber>;
706
+ event_start_date: z.ZodString;
707
+ event_end_date: z.ZodString;
708
+ venue_id: z.ZodNullable<z.ZodNumber>;
709
+ venue_name: z.ZodNullable<z.ZodString>;
710
+ venue_address: z.ZodNullable<z.ZodString>;
711
+ duration: z.ZodNumber;
712
+ banner: z.ZodNullable<z.ZodObject<{
713
+ url: z.ZodURL;
714
+ name: z.ZodOptional<z.ZodString>;
715
+ size: z.ZodOptional<z.ZodNumber>;
716
+ bucket: z.ZodOptional<z.ZodString>;
717
+ type: z.ZodOptional<z.ZodString>;
718
+ path: z.ZodOptional<z.ZodString>;
719
+ }, z.core.$strip>>;
720
+ created_at: z.ZodString;
721
+ updated_at: z.ZodString;
722
+ entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
723
+ exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
724
+ parking_spot: z.ZodString;
725
+ door: z.ZodString;
726
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
727
+ is_custom_slot: z.ZodBoolean;
728
+ is_fast_track_access: z.ZodBoolean;
729
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
730
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
731
+ company: z.ZodObject<{
732
+ hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
733
+ stand_number: z.ZodOptional<z.ZodString>;
734
+ company_name: z.ZodString;
735
+ exhibitor_name: z.ZodOptional<z.ZodString>;
736
+ departure_city: z.ZodOptional<z.ZodString>;
737
+ contact_name: z.ZodString;
738
+ email: z.ZodEmail;
739
+ phone: z.ZodString;
740
+ driver_name: z.ZodString;
741
+ driver_phone: z.ZodString;
742
+ transport_company: z.ZodOptional<z.ZodString>;
743
+ }, z.core.$strip>;
744
+ vehicle: z.ZodObject<{
745
+ vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
746
+ unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
747
+ license_plate: z.ZodString;
748
+ trailer_registration: z.ZodOptional<z.ZodString>;
749
+ }, z.core.$strip>;
750
+ slot_key: z.ZodString;
751
+ }, z.core.$strip>;
752
+ export declare const getParkingBookingDetailsByTokenResponseSchema: z.ZodObject<{
753
+ success: z.ZodBoolean;
754
+ data: z.ZodObject<{
755
+ qr_token: z.ZodNullable<z.ZodString>;
756
+ id: z.ZodNumber;
757
+ booking_id: z.ZodNumber;
758
+ status: z.ZodString;
759
+ booking_date: z.ZodString;
760
+ start_time: z.ZodString;
761
+ end_time: z.ZodString;
762
+ company_role: z.ZodNullable<z.ZodString>;
763
+ event_id: z.ZodNumber;
764
+ event_name: z.ZodString;
765
+ event_code: z.ZodString;
766
+ event_gps_latitude: z.ZodNullable<z.ZodNumber>;
767
+ event_gps_longitude: z.ZodNullable<z.ZodNumber>;
768
+ event_start_date: z.ZodString;
769
+ event_end_date: z.ZodString;
770
+ venue_id: z.ZodNullable<z.ZodNumber>;
771
+ venue_name: z.ZodNullable<z.ZodString>;
772
+ venue_address: z.ZodNullable<z.ZodString>;
773
+ duration: z.ZodNumber;
774
+ banner: z.ZodNullable<z.ZodObject<{
775
+ url: z.ZodURL;
776
+ name: z.ZodOptional<z.ZodString>;
777
+ size: z.ZodOptional<z.ZodNumber>;
778
+ bucket: z.ZodOptional<z.ZodString>;
779
+ type: z.ZodOptional<z.ZodString>;
780
+ path: z.ZodOptional<z.ZodString>;
781
+ }, z.core.$strip>>;
782
+ created_at: z.ZodString;
783
+ updated_at: z.ZodString;
784
+ entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
785
+ exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
+ parking_spot: z.ZodString;
787
+ door: z.ZodString;
788
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
789
+ is_custom_slot: z.ZodBoolean;
790
+ is_fast_track_access: z.ZodBoolean;
791
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
792
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
793
+ company: z.ZodObject<{
794
+ hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
795
+ stand_number: z.ZodOptional<z.ZodString>;
796
+ company_name: z.ZodString;
797
+ exhibitor_name: z.ZodOptional<z.ZodString>;
798
+ departure_city: z.ZodOptional<z.ZodString>;
799
+ contact_name: z.ZodString;
800
+ email: z.ZodEmail;
801
+ phone: z.ZodString;
802
+ driver_name: z.ZodString;
803
+ driver_phone: z.ZodString;
804
+ transport_company: z.ZodOptional<z.ZodString>;
805
+ }, z.core.$strip>;
806
+ vehicle: z.ZodObject<{
807
+ vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
808
+ unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
809
+ license_plate: z.ZodString;
810
+ trailer_registration: z.ZodOptional<z.ZodString>;
811
+ }, z.core.$strip>;
812
+ slot_key: z.ZodString;
813
+ }, z.core.$strip>;
814
+ }, z.core.$strip>;
657
815
  export declare const getParkingBookingDetailsByQrBodySchema: z.ZodObject<{
658
816
  qr_token: z.ZodString;
659
817
  scanner_latitude: z.ZodOptional<z.ZodNumber>;
@@ -814,10 +972,83 @@ export declare const updateBookingTimeResponseSchema: z.ZodObject<{
814
972
  updated_by: z.ZodNullable<z.ZodString>;
815
973
  }, z.core.$strip>;
816
974
  }, z.core.$strip>;
975
+ export declare const createFastTrackBookingBodySchema: z.ZodObject<{
976
+ phone_number: z.ZodString;
977
+ event_id: z.ZodNumber;
978
+ license_plate_image_url: z.ZodURL;
979
+ applicant_badge_image_url: z.ZodURL;
980
+ category: z.ZodString;
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
+ category: z.ZodString;
1011
+ }, z.core.$strip>;
1012
+ export declare const createFastTrackBookingResponseSchema: z.ZodObject<{
1013
+ success: z.ZodBoolean;
1014
+ message: z.ZodString;
1015
+ data: z.ZodObject<{
1016
+ id: z.ZodNumber;
1017
+ status: z.ZodString;
1018
+ company: z.ZodObject<{
1019
+ hall: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
1020
+ stand_number: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1021
+ company_name: z.ZodOptional<z.ZodString>;
1022
+ exhibitor_name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1023
+ departure_city: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1024
+ contact_name: z.ZodOptional<z.ZodString>;
1025
+ email: z.ZodOptional<z.ZodEmail>;
1026
+ phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
1027
+ driver_name: z.ZodOptional<z.ZodString>;
1028
+ driver_phone: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
1029
+ transport_company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1030
+ }, z.core.$strip>;
1031
+ booking_date: z.ZodString;
1032
+ start_time: z.ZodString;
1033
+ end_time: z.ZodString;
1034
+ event_id: z.ZodNumber;
1035
+ parking_spot: z.ZodString;
1036
+ license_plate_image_url: z.ZodNullable<z.ZodString>;
1037
+ applicant_badge_image_url: z.ZodNullable<z.ZodString>;
1038
+ is_fast_track_access: z.ZodBoolean;
1039
+ created_at: z.ZodString;
1040
+ created_by: z.ZodNullable<z.ZodString>;
1041
+ parking_schedule_type: z.ZodNullable<z.ZodEnum<typeof ParkingAreaScheduleType>>;
1042
+ door: z.ZodString;
1043
+ category: z.ZodString;
1044
+ }, z.core.$strip>;
1045
+ }, z.core.$strip>;
817
1046
  export type Geometry = z.infer<typeof geometrySchema>;
818
1047
  export type ParkingBooking = z.infer<typeof parkingBookingSchema>;
819
1048
  export type CompanyDetails = z.infer<typeof companyDetailsSchema>;
1049
+ export type CompanyDetailsWithMinimalFields = z.infer<typeof companyDetailsWithMinimalFields>;
820
1050
  export type VehicleDetails = z.infer<typeof vehicleDetailsSchema>;
1051
+ export type PartialVehicleDetails = z.infer<typeof partialVehicleDetails>;
821
1052
  export type EventBookingsData = z.infer<typeof eventBookingsDataSchema>;
822
1053
  export type CheckSlotAvailabilityBody = z.infer<typeof checkSlotAvailabilityBodySchema>;
823
1054
  export type CheckSlotAvailabilityData = z.infer<typeof availableTimeSlotV2Schema>;
@@ -844,6 +1075,8 @@ export type GetBookingDetailsParams = z.infer<typeof getParkingBookingDetailsPar
844
1075
  export type GetBookingDetailsData = z.infer<typeof parkingBookingDetailsDataSchema>;
845
1076
  export type GetBookingDetailsResponse = z.infer<typeof getParkingBookingDetailsResponseSchema>;
846
1077
  export type GetBookingDetailsByTokenBody = z.infer<typeof getParkingBookingDetailsByTokenBodySchema>;
1078
+ export type ParkingBookingDetailsByTokenData = z.infer<typeof parkingBookingDetailsByTokenDataSchema>;
1079
+ export type GetParkingBookingDetailsByTokenResponse = z.infer<typeof getParkingBookingDetailsByTokenResponseSchema>;
847
1080
  export type GetBookingDetailsByQrBody = z.infer<typeof getParkingBookingDetailsByQrBodySchema>;
848
1081
  export type ConfirmBookingData = z.infer<typeof confirmBookingDataSchema>;
849
1082
  export type ConfirmBookingDataResponse = z.infer<typeof confirmBookingResponseSchema>;
@@ -856,3 +1089,9 @@ export type UpdateBookingTimeBody = z.infer<typeof updateBookingTimeBodySchema>;
856
1089
  export type UpdateBookingTimeData = z.infer<typeof updateBookingTimeDataSchema>;
857
1090
  export type UpdateBookingTimeResponse = z.infer<typeof updateBookingTimeResponseSchema>;
858
1091
  export type UpdateParkingBookingResponse = z.infer<typeof updateParkingBookingResponseSchema>;
1092
+ export type CreateFastTrackBookingBody = z.infer<typeof createFastTrackBookingBodySchema>;
1093
+ export type CreateFastTrackBookingData = z.infer<typeof createFastTrackBookingDataSchema>;
1094
+ export type CreateFastTrackBookingResponse = z.infer<typeof createFastTrackBookingResponseSchema>;
1095
+ export type ConfirmAccessBody = z.infer<typeof confirmAccessBodySchema>;
1096
+ export type ConfirmAccessData = z.infer<typeof confirmAccessDataSchema>;
1097
+ 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({
@@ -513,11 +528,14 @@ export const parkingBookingWithRelationsSchema = z
513
528
  .nullable()
514
529
  }),
515
530
  parking_spot: z.string(),
516
- parking_schedule_type: z.enum(ParkingAreaScheduleType),
531
+ parking_schedule_type: z.enum(ParkingAreaScheduleType).nullable(),
517
532
  slot_key: z.string().nullable(),
518
533
  entry_scanned_at: z.string().nullable(),
519
534
  exit_scanned_at: z.string().nullable(),
520
- is_custom_slot: z.boolean()
535
+ is_custom_slot: z.boolean(),
536
+ is_fast_track_access: z.boolean(),
537
+ license_plate_image_url: z.string().nullable(),
538
+ applicant_badge_image_url: z.string().nullable()
521
539
  })
522
540
  .openapi('ParkingBookingWithRelations');
523
541
  // ------------------------------
@@ -564,12 +582,8 @@ export const parkingBookingDetailsDataSchema = z
564
582
  description: 'Company role for the booking',
565
583
  example: 'exhibitor'
566
584
  }),
567
- company: companyDetailsSchema.openapi({
568
- description: 'Company details'
569
- }),
570
- vehicle: vehicleDetailsSchema.openapi({
571
- description: 'Vehicle details'
572
- }),
585
+ company: companyDetailsWithMinimalFields,
586
+ vehicle: partialVehicleDetails,
573
587
  event_id: z.number().openapi({
574
588
  description: 'ID of the event',
575
589
  example: 1
@@ -610,10 +624,6 @@ export const parkingBookingDetailsDataSchema = z
610
624
  description: 'Address of the venue',
611
625
  example: '1 Pl. de la Prte de Versailles, 75015 Paris, France'
612
626
  }),
613
- request_type: z.string().openapi({
614
- description: 'Type of parking area schedule (assembly/dismantling)',
615
- example: 'assembly'
616
- }),
617
627
  duration: z.number().openapi({
618
628
  description: 'Duration of the booking in minutes',
619
629
  example: 30
@@ -642,7 +652,7 @@ export const parkingBookingDetailsDataSchema = z
642
652
  description: 'Timestamp when exit was scanned',
643
653
  example: '2025-12-15T08:25:00.000Z'
644
654
  }),
645
- slot_key: z.string().openapi({
655
+ slot_key: z.string().nullable().openapi({
646
656
  description: 'Unique key identifying the booked time slot',
647
657
  example: 'MainEntrance_2025-12-15_08:00'
648
658
  }),
@@ -654,7 +664,7 @@ export const parkingBookingDetailsDataSchema = z
654
664
  description: 'Assigned door for the booking',
655
665
  example: 'North Gate'
656
666
  }),
657
- parking_schedule_type: z.enum(ParkingAreaScheduleType).openapi({
667
+ parking_schedule_type: z.enum(ParkingAreaScheduleType).nullable().openapi({
658
668
  description: 'Type of parking area schedule',
659
669
  example: 'assembly'
660
670
  }),
@@ -662,6 +672,18 @@ export const parkingBookingDetailsDataSchema = z
662
672
  description: 'Indicates if the booking is for a custom time slot',
663
673
  example: false
664
674
  }),
675
+ is_fast_track_access: z.boolean().openapi({
676
+ description: 'Indicates if the booking has fast track access',
677
+ example: true
678
+ }),
679
+ license_plate_image_url: z.string().nullable().openapi({
680
+ description: 'URL of the license plate image',
681
+ example: 'https://example.com/license-plate.jpg'
682
+ }),
683
+ applicant_badge_image_url: z.string().nullable().openapi({
684
+ description: 'URL of the applicant badge image',
685
+ example: 'https://example.com/applicant-badge.jpg'
686
+ })
665
687
  })
666
688
  .openapi('ParkingBookingDetailsData');
667
689
  export const getParkingBookingDetailsResponseSchema = createSuccessResponseSchema(parkingBookingDetailsDataSchema, 'GetParkingBookingDetailsResponse', 'Booking details with access pass information');
@@ -676,6 +698,25 @@ export const getParkingBookingDetailsByTokenBodySchema = z
676
698
  })
677
699
  })
678
700
  .openapi('GetParkingBookingDetailsByTokenBody');
701
+ // Extends parkingBookingDetailsDataSchema with stricter validation:
702
+ // - company: full schema (not partial)
703
+ // - vehicle: full schema (not partial)
704
+ // - slot_key: non-nullable
705
+ export const parkingBookingDetailsByTokenDataSchema = parkingBookingDetailsDataSchema
706
+ .extend({
707
+ company: companyDetailsSchema.openapi({
708
+ description: 'Company details (all fields required)'
709
+ }),
710
+ vehicle: vehicleDetailsSchema.openapi({
711
+ description: 'Vehicle details (all fields required)'
712
+ }),
713
+ slot_key: z.string().openapi({
714
+ description: 'Unique key identifying the booked time slot',
715
+ example: 'MainEntrance_2025-12-15_08:00'
716
+ })
717
+ })
718
+ .openapi('ParkingBookingDetailsByTokenData');
719
+ export const getParkingBookingDetailsByTokenResponseSchema = createSuccessResponseSchema(parkingBookingDetailsByTokenDataSchema, 'GetParkingBookingDetailsByTokenResponse', 'Booking details retrieved by access token with complete company and vehicle information');
679
720
  // ------------------------------
680
721
  // Get booking details by QR schemas
681
722
  // ------------------------------
@@ -699,7 +740,6 @@ export const getParkingBookingDetailsByQrBodySchema = z
699
740
  })
700
741
  })
701
742
  .openapi('GetBookingDetailsByQrBody');
702
- // ------------------------------
703
743
  // Export All Parking Bookings
704
744
  // ------------------------------
705
745
  export const exportBookingDataSchema = z
@@ -940,3 +980,51 @@ export const updateBookingTimeDataSchema = z
940
980
  })
941
981
  .openapi('UpdateBookingTimeData');
942
982
  export const updateBookingTimeResponseSchema = createMessageDataResponseSchema(updateBookingTimeDataSchema, 'UpdateBookingTimeResponse', 'Booking time updated successfully', 'Details of the updated booking time');
983
+ // ------------------------------
984
+ // Fast-Track Parking Booking schemas
985
+ // ------------------------------
986
+ export const createFastTrackBookingBodySchema = z
987
+ .object({
988
+ phone_number: z.string().min(1, 'Phone number is required').openapi({
989
+ description: 'Contact phone number for fast-track booking',
990
+ example: '+33123456789'
991
+ }),
992
+ event_id: z.number().positive().openapi({
993
+ description: 'ID of the event for the fast-track booking',
994
+ example: 1
995
+ }),
996
+ license_plate_image_url: z.url().openapi({
997
+ description: 'URL of the license plate image (optional)',
998
+ example: 'https://example.com/plates/abc123.jpg'
999
+ }),
1000
+ applicant_badge_image_url: z.url().openapi({
1001
+ description: 'URL of the applicant badge image (optional)',
1002
+ example: 'https://example.com/badges/applicant456.jpg'
1003
+ }),
1004
+ category: z.string().min(1, 'Category is required').openapi({
1005
+ description: 'Category of the fast-track booking',
1006
+ example: 'PRESTATAIRES'
1007
+ })
1008
+ })
1009
+ .openapi('CreateFastTrackBookingBody');
1010
+ export const createFastTrackBookingDataSchema = z
1011
+ .object({
1012
+ id: z.number(),
1013
+ status: z.string(),
1014
+ company: companyDetailsWithMinimalFields,
1015
+ booking_date: z.string(),
1016
+ start_time: z.string(),
1017
+ end_time: z.string(),
1018
+ event_id: z.number(),
1019
+ parking_spot: z.string(),
1020
+ license_plate_image_url: z.string().nullable(),
1021
+ applicant_badge_image_url: z.string().nullable(),
1022
+ is_fast_track_access: z.boolean(),
1023
+ created_at: z.string(),
1024
+ created_by: z.string().nullable(),
1025
+ parking_schedule_type: z.enum(ParkingAreaScheduleType).nullable(),
1026
+ door: z.string(),
1027
+ category: z.string()
1028
+ })
1029
+ .openapi('CreateFastTrackBookingData');
1030
+ export const createFastTrackBookingResponseSchema = createMessageDataResponseSchema(createFastTrackBookingDataSchema, 'CreateFastTrackBookingResponse', 'Fast-track parking booking created successfully', 'Details of the created fast-track booking');
package/package.json CHANGED
@@ -1,99 +1,103 @@
1
- {
2
- "name": "@venulog/phasing-engine-schemas",
3
- "version": "0.13.2",
4
- "description": "Shared schemas and types for Phasing Engine API",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
12
- },
13
- "./auth": {
14
- "types": "./dist/auth.d.ts",
15
- "import": "./dist/auth.js"
16
- },
17
- "./common": {
18
- "types": "./dist/common.d.ts",
19
- "import": "./dist/common.js"
20
- },
21
- "./pagination": {
22
- "types": "./dist/pagination.d.ts",
23
- "import": "./dist/pagination.js"
24
- },
25
- "./parkingBooking": {
26
- "types": "./dist/parkingBooking.d.ts",
27
- "import": "./dist/parkingBooking.js"
28
- },
29
- "./event": {
30
- "types": "./dist/event.d.ts",
31
- "import": "./dist/event.js"
32
- },
33
- "./parkingArea": {
34
- "types": "./dist/parkingArea.d.ts",
35
- "import": "./dist/parkingArea.js"
36
- },
37
- "./parkingAreaLayer": {
38
- "types": "./dist/parkingAreaLayer.d.ts",
39
- "import": "./dist/parkingAreaLayer.js"
40
- },
41
- "./parkingAreaAccess": {
42
- "types": "./dist/parkingAreaAccess.d.ts",
43
- "import": "./dist/parkingAreaAccess.js"
44
- },
45
- "./enums": {
46
- "types": "./dist/enums/index.d.ts",
47
- "import": "./dist/enums/index.js"
48
- },
49
- "./accessToken": {
50
- "types": "./dist/accessToken.d.ts",
51
- "import": "./dist/accessToken.js"
52
- },
53
- "./vehiclePosition": {
54
- "types": "./dist/vehiclePosition.d.ts",
55
- "import": "./dist/vehiclePosition.js"
56
- },
57
- "./camera": {
58
- "types": "./dist/camera.d.ts",
59
- "import": "./dist/camera.js"
60
- },
61
- "./simulation": {
62
- "types": "./dist/simulation.d.ts",
63
- "import": "./dist/simulation.js"
64
- },
65
- "./exhibitor": {
66
- "types": "./dist/exhibitor.d.ts",
67
- "import": "./dist/exhibitor.js"
68
- }
69
- },
70
- "files": [
71
- "dist"
72
- ],
73
- "scripts": {
74
- "build": "npm run clean && tsc",
75
- "dev": "tsc --watch",
76
- "clean": "rm -rf dist",
77
- "prepublishOnly": "npm run build"
78
- },
79
- "keywords": [
80
- "schemas",
81
- "validation",
82
- "types",
83
- "zod",
84
- "phasing-engine"
85
- ],
86
- "license": "MIT",
87
- "dependencies": {
88
- "@asteasolutions/zod-to-openapi": "^8.1.0",
89
- "zod": "^4.1.13"
90
- },
91
- "devDependencies": {
92
- "typescript": "^5.6.3"
93
- },
94
- "repository": {
95
- "type": "git",
96
- "url": "git+https://github.com/manaty/phasing_engine.git",
97
- "directory": "packages/phasing-schemas"
98
- }
99
- }
1
+ {
2
+ "name": "@venulog/phasing-engine-schemas",
3
+ "version": "0.13.3-alpha.1",
4
+ "description": "Shared schemas and types for Phasing Engine API",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./auth": {
14
+ "types": "./dist/auth.d.ts",
15
+ "import": "./dist/auth.js"
16
+ },
17
+ "./common": {
18
+ "types": "./dist/common.d.ts",
19
+ "import": "./dist/common.js"
20
+ },
21
+ "./pagination": {
22
+ "types": "./dist/pagination.d.ts",
23
+ "import": "./dist/pagination.js"
24
+ },
25
+ "./parkingBooking": {
26
+ "types": "./dist/parkingBooking.d.ts",
27
+ "import": "./dist/parkingBooking.js"
28
+ },
29
+ "./event": {
30
+ "types": "./dist/event.d.ts",
31
+ "import": "./dist/event.js"
32
+ },
33
+ "./parkingArea": {
34
+ "types": "./dist/parkingArea.d.ts",
35
+ "import": "./dist/parkingArea.js"
36
+ },
37
+ "./parkingAreaLayer": {
38
+ "types": "./dist/parkingAreaLayer.d.ts",
39
+ "import": "./dist/parkingAreaLayer.js"
40
+ },
41
+ "./parkingAreaAccess": {
42
+ "types": "./dist/parkingAreaAccess.d.ts",
43
+ "import": "./dist/parkingAreaAccess.js"
44
+ },
45
+ "./enums": {
46
+ "types": "./dist/enums/index.d.ts",
47
+ "import": "./dist/enums/index.js"
48
+ },
49
+ "./accessToken": {
50
+ "types": "./dist/accessToken.d.ts",
51
+ "import": "./dist/accessToken.js"
52
+ },
53
+ "./vehiclePosition": {
54
+ "types": "./dist/vehiclePosition.d.ts",
55
+ "import": "./dist/vehiclePosition.js"
56
+ },
57
+ "./camera": {
58
+ "types": "./dist/camera.d.ts",
59
+ "import": "./dist/camera.js"
60
+ },
61
+ "./simulation": {
62
+ "types": "./dist/simulation.d.ts",
63
+ "import": "./dist/simulation.js"
64
+ },
65
+ "./exhibitor": {
66
+ "types": "./dist/exhibitor.d.ts",
67
+ "import": "./dist/exhibitor.js"
68
+ },
69
+ "./eventSitePlanCalibration": {
70
+ "types": "./dist/eventSitePlanCalibration.d.ts",
71
+ "import": "./dist/eventSitePlanCalibration.js"
72
+ }
73
+ },
74
+ "files": [
75
+ "dist"
76
+ ],
77
+ "scripts": {
78
+ "build": "npm run clean && tsc",
79
+ "dev": "tsc --watch",
80
+ "clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
81
+ "prepublishOnly": "npm run build"
82
+ },
83
+ "keywords": [
84
+ "schemas",
85
+ "validation",
86
+ "types",
87
+ "zod",
88
+ "phasing-engine"
89
+ ],
90
+ "license": "MIT",
91
+ "dependencies": {
92
+ "@asteasolutions/zod-to-openapi": "^8.1.0",
93
+ "zod": "^4.1.13"
94
+ },
95
+ "devDependencies": {
96
+ "typescript": "^5.6.3"
97
+ },
98
+ "repository": {
99
+ "type": "git",
100
+ "url": "git+https://github.com/manaty/phasing_engine.git",
101
+ "directory": "packages/phasing-schemas"
102
+ }
103
+ }