add car reservation feature

This commit is contained in:
root
2026-05-09 21:10:38 -04:00
parent 09b0e3b55f
commit 6322b7d2a1
37 changed files with 1169 additions and 119 deletions
+26 -3
View File
@@ -315,6 +315,11 @@ enum NotificationStatus {
READ
}
enum CalendarBlockType {
MANUAL
MAINTENANCE
}
// ═══════════════════════════════════════════════════════════════
// B2B — COMPANY SIDE
// ═══════════════════════════════════════════════════════════════
@@ -481,9 +486,10 @@ model Vehicle {
notes String?
isPublished Boolean @default(true)
reservations Reservation[]
maintenance MaintenanceLog[]
offerVehicles OfferVehicle[]
reservations Reservation[]
maintenance MaintenanceLog[]
offerVehicles OfferVehicle[]
calendarBlocks VehicleCalendarBlock[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@ -796,6 +802,23 @@ model MaintenanceLog {
@@map("maintenance_logs")
}
model VehicleCalendarBlock {
id String @id @default(cuid())
vehicleId String
vehicle Vehicle @relation(fields: [vehicleId], references: [id], onDelete: Cascade)
startDate DateTime @db.Date
endDate DateTime @db.Date
reason String?
type CalendarBlockType @default(MANUAL)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([vehicleId])
@@index([vehicleId, startDate, endDate])
@@map("vehicle_calendar_blocks")
}
// ═══════════════════════════════════════════════════════════════
// DOCUMENTS — CONTRACT SETTINGS
// ═══════════════════════════════════════════════════════════════