@venulog/phasing-engine-schemas 0.13.0-alpha.0 → 0.13.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/parkingBooking.d.ts +104 -27
- package/dist/parkingBooking.js +123 -17
- package/package.json +1 -1
package/dist/parkingBooking.d.ts
CHANGED
|
@@ -400,7 +400,7 @@ export declare const updateParkingBookingBodySchema: z.ZodObject<{
|
|
|
400
400
|
export declare const updateParkingBookingDataSchema: z.ZodObject<{
|
|
401
401
|
booking_id: z.ZodNumber;
|
|
402
402
|
qr_token: z.ZodString;
|
|
403
|
-
company: z.
|
|
403
|
+
company: z.ZodObject<{
|
|
404
404
|
hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
405
405
|
stand_number: z.ZodOptional<z.ZodString>;
|
|
406
406
|
company_name: z.ZodString;
|
|
@@ -412,15 +412,16 @@ export declare const updateParkingBookingDataSchema: z.ZodObject<{
|
|
|
412
412
|
driver_name: z.ZodString;
|
|
413
413
|
driver_phone: z.ZodString;
|
|
414
414
|
transport_company: z.ZodOptional<z.ZodString>;
|
|
415
|
-
}, z.core.$strip
|
|
416
|
-
vehicle: z.
|
|
415
|
+
}, z.core.$strip>;
|
|
416
|
+
vehicle: z.ZodObject<{
|
|
417
417
|
vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
|
|
418
418
|
unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
|
|
419
419
|
license_plate: z.ZodString;
|
|
420
420
|
trailer_registration: z.ZodOptional<z.ZodString>;
|
|
421
|
-
}, z.core.$strip
|
|
421
|
+
}, z.core.$strip>;
|
|
422
422
|
updated_at: z.ZodString;
|
|
423
423
|
updated_by: z.ZodNullable<z.ZodString>;
|
|
424
|
+
status: z.ZodString;
|
|
424
425
|
}, z.core.$strip>;
|
|
425
426
|
export declare const updateParkingBookingResponseSchema: z.ZodObject<{
|
|
426
427
|
success: z.ZodBoolean;
|
|
@@ -428,7 +429,7 @@ export declare const updateParkingBookingResponseSchema: z.ZodObject<{
|
|
|
428
429
|
data: z.ZodObject<{
|
|
429
430
|
booking_id: z.ZodNumber;
|
|
430
431
|
qr_token: z.ZodString;
|
|
431
|
-
company: z.
|
|
432
|
+
company: z.ZodObject<{
|
|
432
433
|
hall: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
433
434
|
stand_number: z.ZodOptional<z.ZodString>;
|
|
434
435
|
company_name: z.ZodString;
|
|
@@ -440,15 +441,16 @@ export declare const updateParkingBookingResponseSchema: z.ZodObject<{
|
|
|
440
441
|
driver_name: z.ZodString;
|
|
441
442
|
driver_phone: z.ZodString;
|
|
442
443
|
transport_company: z.ZodOptional<z.ZodString>;
|
|
443
|
-
}, z.core.$strip
|
|
444
|
-
vehicle: z.
|
|
444
|
+
}, z.core.$strip>;
|
|
445
|
+
vehicle: z.ZodObject<{
|
|
445
446
|
vehicle_type: z.ZodEnum<typeof import("./index.js").VehicleType>;
|
|
446
447
|
unloading_method: z.ZodOptional<z.ZodEnum<typeof UnloadingType>>;
|
|
447
448
|
license_plate: z.ZodString;
|
|
448
449
|
trailer_registration: z.ZodOptional<z.ZodString>;
|
|
449
|
-
}, z.core.$strip
|
|
450
|
+
}, z.core.$strip>;
|
|
450
451
|
updated_at: z.ZodString;
|
|
451
452
|
updated_by: z.ZodNullable<z.ZodString>;
|
|
453
|
+
status: z.ZodString;
|
|
452
454
|
}, z.core.$strip>;
|
|
453
455
|
}, z.core.$strip>;
|
|
454
456
|
export declare const confirmBookingParamsSchema: z.ZodObject<{
|
|
@@ -457,7 +459,6 @@ export declare const confirmBookingParamsSchema: z.ZodObject<{
|
|
|
457
459
|
export declare const confirmBookingDataSchema: z.ZodObject<{
|
|
458
460
|
id: z.ZodNumber;
|
|
459
461
|
status: z.ZodString;
|
|
460
|
-
parking_area_schedule_id: z.ZodNumber;
|
|
461
462
|
updated_at: z.ZodString;
|
|
462
463
|
updated_by: z.ZodString;
|
|
463
464
|
}, z.core.$strip>;
|
|
@@ -467,7 +468,6 @@ export declare const confirmBookingResponseSchema: z.ZodObject<{
|
|
|
467
468
|
data: z.ZodObject<{
|
|
468
469
|
id: z.ZodNumber;
|
|
469
470
|
status: z.ZodString;
|
|
470
|
-
parking_area_schedule_id: z.ZodNumber;
|
|
471
471
|
updated_at: z.ZodString;
|
|
472
472
|
updated_by: z.ZodString;
|
|
473
473
|
}, z.core.$strip>;
|
|
@@ -478,7 +478,6 @@ export declare const refuseBookingParamsSchema: z.ZodObject<{
|
|
|
478
478
|
export declare const refuseBookingDataSchema: z.ZodObject<{
|
|
479
479
|
id: z.ZodNumber;
|
|
480
480
|
status: z.ZodString;
|
|
481
|
-
parking_area_schedule_id: z.ZodNumber;
|
|
482
481
|
updated_at: z.ZodString;
|
|
483
482
|
updated_by: z.ZodString;
|
|
484
483
|
}, z.core.$strip>;
|
|
@@ -488,7 +487,6 @@ export declare const refuseBookingResponseSchema: z.ZodObject<{
|
|
|
488
487
|
data: z.ZodObject<{
|
|
489
488
|
id: z.ZodNumber;
|
|
490
489
|
status: z.ZodString;
|
|
491
|
-
parking_area_schedule_id: z.ZodNumber;
|
|
492
490
|
updated_at: z.ZodString;
|
|
493
491
|
updated_by: z.ZodString;
|
|
494
492
|
}, z.core.$strip>;
|
|
@@ -665,12 +663,38 @@ export declare const exportBookingDataSchema: z.ZodObject<{
|
|
|
665
663
|
booking_id: z.ZodNumber;
|
|
666
664
|
event_id: z.ZodNumber;
|
|
667
665
|
status: z.ZodEnum<typeof BookingStatus>;
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
666
|
+
is_active: z.ZodBoolean;
|
|
667
|
+
created_at: z.ZodString;
|
|
668
|
+
updated_at: z.ZodString;
|
|
669
|
+
created_by: z.ZodNullable<z.ZodString>;
|
|
670
|
+
updated_by: z.ZodNullable<z.ZodString>;
|
|
673
671
|
booking_date: z.ZodString;
|
|
672
|
+
start_time: z.ZodNullable<z.ZodString>;
|
|
673
|
+
end_time: z.ZodNullable<z.ZodString>;
|
|
674
|
+
company_role: z.ZodNullable<z.ZodString>;
|
|
675
|
+
entry_scanned_at: z.ZodNullable<z.ZodString>;
|
|
676
|
+
exit_scanned_at: z.ZodNullable<z.ZodString>;
|
|
677
|
+
door: z.ZodNullable<z.ZodString>;
|
|
678
|
+
parking_spot: z.ZodNullable<z.ZodString>;
|
|
679
|
+
parking_schedule_type: z.ZodNullable<z.ZodString>;
|
|
680
|
+
slot_key: z.ZodNullable<z.ZodString>;
|
|
681
|
+
is_custom_slot: z.ZodNullable<z.ZodBoolean>;
|
|
682
|
+
company_hall: z.ZodNullable<z.ZodString>;
|
|
683
|
+
company_stand_number: z.ZodNullable<z.ZodString>;
|
|
684
|
+
company_name: z.ZodNullable<z.ZodString>;
|
|
685
|
+
company_exhibitor_name: z.ZodNullable<z.ZodString>;
|
|
686
|
+
company_departure_city: z.ZodNullable<z.ZodString>;
|
|
687
|
+
company_contact_name: z.ZodNullable<z.ZodString>;
|
|
688
|
+
company_email: z.ZodNullable<z.ZodString>;
|
|
689
|
+
company_phone: z.ZodNullable<z.ZodString>;
|
|
690
|
+
company_driver_name: z.ZodNullable<z.ZodString>;
|
|
691
|
+
company_driver_phone: z.ZodNullable<z.ZodString>;
|
|
692
|
+
company_transport_company: z.ZodNullable<z.ZodString>;
|
|
693
|
+
vehicle_type: z.ZodNullable<z.ZodString>;
|
|
694
|
+
vehicle_unloading_method: z.ZodNullable<z.ZodString>;
|
|
695
|
+
vehicle_license_plate: z.ZodNullable<z.ZodString>;
|
|
696
|
+
vehicle_trailer_registration: z.ZodNullable<z.ZodString>;
|
|
697
|
+
co2_footprint: z.ZodNullable<z.ZodNumber>;
|
|
674
698
|
}, z.core.$strip>;
|
|
675
699
|
export declare const exportBookingsQuerySchema: z.ZodObject<{
|
|
676
700
|
event_id: z.ZodCoercedNumber<unknown>;
|
|
@@ -681,12 +705,38 @@ export declare const exportBookingsDataSchema: z.ZodObject<{
|
|
|
681
705
|
booking_id: z.ZodNumber;
|
|
682
706
|
event_id: z.ZodNumber;
|
|
683
707
|
status: z.ZodEnum<typeof BookingStatus>;
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
708
|
+
is_active: z.ZodBoolean;
|
|
709
|
+
created_at: z.ZodString;
|
|
710
|
+
updated_at: z.ZodString;
|
|
711
|
+
created_by: z.ZodNullable<z.ZodString>;
|
|
712
|
+
updated_by: z.ZodNullable<z.ZodString>;
|
|
689
713
|
booking_date: z.ZodString;
|
|
714
|
+
start_time: z.ZodNullable<z.ZodString>;
|
|
715
|
+
end_time: z.ZodNullable<z.ZodString>;
|
|
716
|
+
company_role: z.ZodNullable<z.ZodString>;
|
|
717
|
+
entry_scanned_at: z.ZodNullable<z.ZodString>;
|
|
718
|
+
exit_scanned_at: z.ZodNullable<z.ZodString>;
|
|
719
|
+
door: z.ZodNullable<z.ZodString>;
|
|
720
|
+
parking_spot: z.ZodNullable<z.ZodString>;
|
|
721
|
+
parking_schedule_type: z.ZodNullable<z.ZodString>;
|
|
722
|
+
slot_key: z.ZodNullable<z.ZodString>;
|
|
723
|
+
is_custom_slot: z.ZodNullable<z.ZodBoolean>;
|
|
724
|
+
company_hall: z.ZodNullable<z.ZodString>;
|
|
725
|
+
company_stand_number: z.ZodNullable<z.ZodString>;
|
|
726
|
+
company_name: z.ZodNullable<z.ZodString>;
|
|
727
|
+
company_exhibitor_name: z.ZodNullable<z.ZodString>;
|
|
728
|
+
company_departure_city: z.ZodNullable<z.ZodString>;
|
|
729
|
+
company_contact_name: z.ZodNullable<z.ZodString>;
|
|
730
|
+
company_email: z.ZodNullable<z.ZodString>;
|
|
731
|
+
company_phone: z.ZodNullable<z.ZodString>;
|
|
732
|
+
company_driver_name: z.ZodNullable<z.ZodString>;
|
|
733
|
+
company_driver_phone: z.ZodNullable<z.ZodString>;
|
|
734
|
+
company_transport_company: z.ZodNullable<z.ZodString>;
|
|
735
|
+
vehicle_type: z.ZodNullable<z.ZodString>;
|
|
736
|
+
vehicle_unloading_method: z.ZodNullable<z.ZodString>;
|
|
737
|
+
vehicle_license_plate: z.ZodNullable<z.ZodString>;
|
|
738
|
+
vehicle_trailer_registration: z.ZodNullable<z.ZodString>;
|
|
739
|
+
co2_footprint: z.ZodNullable<z.ZodNumber>;
|
|
690
740
|
}, z.core.$strip>>;
|
|
691
741
|
total_count: z.ZodNumber;
|
|
692
742
|
filters_applied: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -698,12 +748,38 @@ export declare const exportBookingsResponseSchema: z.ZodObject<{
|
|
|
698
748
|
booking_id: z.ZodNumber;
|
|
699
749
|
event_id: z.ZodNumber;
|
|
700
750
|
status: z.ZodEnum<typeof BookingStatus>;
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
751
|
+
is_active: z.ZodBoolean;
|
|
752
|
+
created_at: z.ZodString;
|
|
753
|
+
updated_at: z.ZodString;
|
|
754
|
+
created_by: z.ZodNullable<z.ZodString>;
|
|
755
|
+
updated_by: z.ZodNullable<z.ZodString>;
|
|
706
756
|
booking_date: z.ZodString;
|
|
757
|
+
start_time: z.ZodNullable<z.ZodString>;
|
|
758
|
+
end_time: z.ZodNullable<z.ZodString>;
|
|
759
|
+
company_role: z.ZodNullable<z.ZodString>;
|
|
760
|
+
entry_scanned_at: z.ZodNullable<z.ZodString>;
|
|
761
|
+
exit_scanned_at: z.ZodNullable<z.ZodString>;
|
|
762
|
+
door: z.ZodNullable<z.ZodString>;
|
|
763
|
+
parking_spot: z.ZodNullable<z.ZodString>;
|
|
764
|
+
parking_schedule_type: z.ZodNullable<z.ZodString>;
|
|
765
|
+
slot_key: z.ZodNullable<z.ZodString>;
|
|
766
|
+
is_custom_slot: z.ZodNullable<z.ZodBoolean>;
|
|
767
|
+
company_hall: z.ZodNullable<z.ZodString>;
|
|
768
|
+
company_stand_number: z.ZodNullable<z.ZodString>;
|
|
769
|
+
company_name: z.ZodNullable<z.ZodString>;
|
|
770
|
+
company_exhibitor_name: z.ZodNullable<z.ZodString>;
|
|
771
|
+
company_departure_city: z.ZodNullable<z.ZodString>;
|
|
772
|
+
company_contact_name: z.ZodNullable<z.ZodString>;
|
|
773
|
+
company_email: z.ZodNullable<z.ZodString>;
|
|
774
|
+
company_phone: z.ZodNullable<z.ZodString>;
|
|
775
|
+
company_driver_name: z.ZodNullable<z.ZodString>;
|
|
776
|
+
company_driver_phone: z.ZodNullable<z.ZodString>;
|
|
777
|
+
company_transport_company: z.ZodNullable<z.ZodString>;
|
|
778
|
+
vehicle_type: z.ZodNullable<z.ZodString>;
|
|
779
|
+
vehicle_unloading_method: z.ZodNullable<z.ZodString>;
|
|
780
|
+
vehicle_license_plate: z.ZodNullable<z.ZodString>;
|
|
781
|
+
vehicle_trailer_registration: z.ZodNullable<z.ZodString>;
|
|
782
|
+
co2_footprint: z.ZodNullable<z.ZodNumber>;
|
|
707
783
|
}, z.core.$strip>>;
|
|
708
784
|
total_count: z.ZodNumber;
|
|
709
785
|
filters_applied: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -778,3 +854,4 @@ export type UpdateBookingTimeParams = z.infer<typeof updateBookingTimeParamsSche
|
|
|
778
854
|
export type UpdateBookingTimeBody = z.infer<typeof updateBookingTimeBodySchema>;
|
|
779
855
|
export type UpdateBookingTimeData = z.infer<typeof updateBookingTimeDataSchema>;
|
|
780
856
|
export type UpdateBookingTimeResponse = z.infer<typeof updateBookingTimeResponseSchema>;
|
|
857
|
+
export type UpdateParkingBookingResponse = z.infer<typeof updateParkingBookingResponseSchema>;
|
package/dist/parkingBooking.js
CHANGED
|
@@ -402,10 +402,10 @@ export const updateParkingBookingDataSchema = z
|
|
|
402
402
|
description: 'New regenerated QR token',
|
|
403
403
|
example: 'ACCESS_1a2b3c4d5e6f7g8h_eyJib29raW5nSWQiOjF9'
|
|
404
404
|
}),
|
|
405
|
-
company: companyDetailsSchema.
|
|
405
|
+
company: companyDetailsSchema.openapi({
|
|
406
406
|
description: 'Updated company details'
|
|
407
407
|
}),
|
|
408
|
-
vehicle: vehicleDetailsSchema.
|
|
408
|
+
vehicle: vehicleDetailsSchema.openapi({
|
|
409
409
|
description: 'Updated vehicle details'
|
|
410
410
|
}),
|
|
411
411
|
updated_at: z.string().openapi({
|
|
@@ -415,7 +415,8 @@ export const updateParkingBookingDataSchema = z
|
|
|
415
415
|
updated_by: z.string().nullable().openapi({
|
|
416
416
|
description: 'ID of the user who updated the booking',
|
|
417
417
|
example: 'user-123'
|
|
418
|
-
})
|
|
418
|
+
}),
|
|
419
|
+
status: z.string()
|
|
419
420
|
})
|
|
420
421
|
.openapi('UpdateParkingBookingData');
|
|
421
422
|
export const updateParkingBookingResponseSchema = createMessageDataResponseSchema(updateParkingBookingDataSchema, 'UpdateParkingBookingResponse', 'Parking booking updated successfully', 'Details of the updated booking');
|
|
@@ -442,7 +443,6 @@ export const confirmBookingDataSchema = z
|
|
|
442
443
|
.object({
|
|
443
444
|
id: z.number(),
|
|
444
445
|
status: z.string(),
|
|
445
|
-
parking_area_schedule_id: z.number(),
|
|
446
446
|
updated_at: z.string(),
|
|
447
447
|
updated_by: z.string()
|
|
448
448
|
})
|
|
@@ -471,7 +471,6 @@ export const refuseBookingDataSchema = z
|
|
|
471
471
|
.object({
|
|
472
472
|
id: z.number(),
|
|
473
473
|
status: z.string(),
|
|
474
|
-
parking_area_schedule_id: z.number(),
|
|
475
474
|
updated_at: z.string(),
|
|
476
475
|
updated_by: z.string()
|
|
477
476
|
})
|
|
@@ -716,29 +715,136 @@ export const exportBookingDataSchema = z
|
|
|
716
715
|
description: 'Current booking status',
|
|
717
716
|
example: 'confirmed'
|
|
718
717
|
}),
|
|
719
|
-
|
|
720
|
-
description: '
|
|
721
|
-
example:
|
|
718
|
+
is_active: z.boolean().openapi({
|
|
719
|
+
description: 'Whether the booking is active',
|
|
720
|
+
example: true
|
|
722
721
|
}),
|
|
723
|
-
|
|
724
|
-
description: '
|
|
725
|
-
example: '
|
|
722
|
+
created_at: z.string().openapi({
|
|
723
|
+
description: 'Booking creation timestamp',
|
|
724
|
+
example: '2024-12-15T08:00:00.000Z'
|
|
725
|
+
}),
|
|
726
|
+
updated_at: z.string().openapi({
|
|
727
|
+
description: 'Booking last update timestamp',
|
|
728
|
+
example: '2024-12-15T08:30:00.000Z'
|
|
729
|
+
}),
|
|
730
|
+
created_by: z.string().nullable().openapi({
|
|
731
|
+
description: 'User ID who created the booking',
|
|
732
|
+
example: 'uuid-123'
|
|
733
|
+
}),
|
|
734
|
+
updated_by: z.string().nullable().openapi({
|
|
735
|
+
description: 'User ID who last updated the booking',
|
|
736
|
+
example: 'uuid-456'
|
|
737
|
+
}),
|
|
738
|
+
booking_date: z.string().openapi({
|
|
739
|
+
description: 'Date of the booking',
|
|
740
|
+
example: '2024-12-15'
|
|
741
|
+
}),
|
|
742
|
+
start_time: z.string().nullable().openapi({
|
|
743
|
+
description: 'Start time of the booking slot',
|
|
744
|
+
example: '08:00'
|
|
726
745
|
}),
|
|
727
|
-
|
|
746
|
+
end_time: z.string().nullable().openapi({
|
|
747
|
+
description: 'End time of the booking slot',
|
|
748
|
+
example: '10:00'
|
|
749
|
+
}),
|
|
750
|
+
company_role: z.string().nullable().openapi({
|
|
751
|
+
description: 'Company role (exhibitor, contractor, etc.)',
|
|
752
|
+
example: 'exhibitor'
|
|
753
|
+
}),
|
|
754
|
+
entry_scanned_at: z.string().nullable().openapi({
|
|
728
755
|
description: 'Entry scan timestamp',
|
|
729
756
|
example: '2024-12-15T08:30:00.000Z'
|
|
730
757
|
}),
|
|
731
|
-
|
|
758
|
+
exit_scanned_at: z.string().nullable().openapi({
|
|
732
759
|
description: 'Exit scan timestamp',
|
|
733
760
|
example: '2024-12-15T17:15:00.000Z'
|
|
734
761
|
}),
|
|
762
|
+
door: z.string().nullable().openapi({
|
|
763
|
+
description: 'Parking door/gate name',
|
|
764
|
+
example: 'North Gate'
|
|
765
|
+
}),
|
|
766
|
+
parking_spot: z.string().nullable().openapi({
|
|
767
|
+
description: 'Parking area/spot name',
|
|
768
|
+
example: 'Main Entrance'
|
|
769
|
+
}),
|
|
770
|
+
parking_schedule_type: z.string().nullable().openapi({
|
|
771
|
+
description: 'Type of parking schedule (assembly/dismantling)',
|
|
772
|
+
example: 'assembly'
|
|
773
|
+
}),
|
|
774
|
+
slot_key: z.string().nullable().openapi({
|
|
775
|
+
description: 'Unique slot key identifier',
|
|
776
|
+
example: 'MainEntrance_2024-12-15_08:00'
|
|
777
|
+
}),
|
|
778
|
+
is_custom_slot: z.boolean().nullable().openapi({
|
|
779
|
+
description: 'Whether the booking uses a custom time slot',
|
|
780
|
+
example: false
|
|
781
|
+
}),
|
|
782
|
+
// Flattened company fields
|
|
783
|
+
company_hall: z.string().nullable().openapi({
|
|
784
|
+
description: 'Hall location',
|
|
785
|
+
example: 'Hall 1'
|
|
786
|
+
}),
|
|
787
|
+
company_stand_number: z.string().nullable().openapi({
|
|
788
|
+
description: 'Stand number',
|
|
789
|
+
example: 'A-123'
|
|
790
|
+
}),
|
|
791
|
+
company_name: z.string().nullable().openapi({
|
|
792
|
+
description: 'Company name',
|
|
793
|
+
example: 'Acme Corp'
|
|
794
|
+
}),
|
|
795
|
+
company_exhibitor_name: z.string().nullable().openapi({
|
|
796
|
+
description: 'Exhibitor name',
|
|
797
|
+
example: 'Technology'
|
|
798
|
+
}),
|
|
799
|
+
company_departure_city: z.string().nullable().openapi({
|
|
800
|
+
description: 'City of departure',
|
|
801
|
+
example: 'Paris'
|
|
802
|
+
}),
|
|
803
|
+
company_contact_name: z.string().nullable().openapi({
|
|
804
|
+
description: 'Contact person name',
|
|
805
|
+
example: 'John Doe'
|
|
806
|
+
}),
|
|
807
|
+
company_email: z.string().nullable().openapi({
|
|
808
|
+
description: 'Contact email',
|
|
809
|
+
example: 'john.doe@acme.com'
|
|
810
|
+
}),
|
|
811
|
+
company_phone: z.string().nullable().openapi({
|
|
812
|
+
description: 'Contact phone number',
|
|
813
|
+
example: '+33 1 23 45 67 89'
|
|
814
|
+
}),
|
|
815
|
+
company_driver_name: z.string().nullable().openapi({
|
|
816
|
+
description: 'Driver name',
|
|
817
|
+
example: 'Jean Martin'
|
|
818
|
+
}),
|
|
819
|
+
company_driver_phone: z.string().nullable().openapi({
|
|
820
|
+
description: 'Driver phone number',
|
|
821
|
+
example: '+33 6 12 34 56 78'
|
|
822
|
+
}),
|
|
823
|
+
company_transport_company: z.string().nullable().openapi({
|
|
824
|
+
description: 'Transport company name',
|
|
825
|
+
example: 'Fast Transport Ltd'
|
|
826
|
+
}),
|
|
827
|
+
// Flattened vehicle fields
|
|
828
|
+
vehicle_type: z.string().nullable().openapi({
|
|
829
|
+
description: 'Type of vehicle (PL, VUL, VL)',
|
|
830
|
+
example: 'PL'
|
|
831
|
+
}),
|
|
832
|
+
vehicle_unloading_method: z.string().nullable().openapi({
|
|
833
|
+
description: 'Unloading method for the vehicle',
|
|
834
|
+
example: 'site'
|
|
835
|
+
}),
|
|
836
|
+
vehicle_license_plate: z.string().nullable().openapi({
|
|
837
|
+
description: 'Vehicle license plate',
|
|
838
|
+
example: 'AB-123-CD'
|
|
839
|
+
}),
|
|
840
|
+
vehicle_trailer_registration: z.string().nullable().openapi({
|
|
841
|
+
description: 'Trailer registration number',
|
|
842
|
+
example: 'TR-456-EF'
|
|
843
|
+
}),
|
|
844
|
+
// Calculated fields
|
|
735
845
|
co2_footprint: z.number().nullable().openapi({
|
|
736
846
|
description: 'Estimated CO2 footprint in kg based on vehicle type and duration',
|
|
737
847
|
example: 12.5
|
|
738
|
-
}),
|
|
739
|
-
booking_date: z.string().openapi({
|
|
740
|
-
description: 'Date of the booking',
|
|
741
|
-
example: '2024-12-15'
|
|
742
848
|
})
|
|
743
849
|
})
|
|
744
850
|
.openapi('ExportBookingData');
|