diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 6b85fab..f18d65d 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -145,6 +145,7 @@ model User { createdTickets Ticket[] @relation("TicketCreator") assignedTickets Ticket[] @relation("TicketAssignee") cleaningTasks CleaningTask[] + cleaningAbsences CleaningAbsence[] expensesPaid Expense[] expenseShares ExpenseShare[] handoverProtocols HandoverProtocol[] @@ -333,6 +334,24 @@ model CleaningTask { @@map("cleaning_tasks") } +// Abwesenheiten im Putzplan-Kalender (Urlaub, "kann nicht putzen" o. Ä.). +// Für alle Mieter sichtbar (gemeinschaftliche Organisationsinfo), aber nur +// vom jeweiligen Mieter selbst oder Vermieter/Admin anlegbar/löschbar. +model CleaningAbsence { + id String @id @default(uuid()) + userId String @map("user_id") + user User @relation(fields: [userId], references: [id]) + + startDate DateTime @map("start_date") + endDate DateTime @map("end_date") + note String? + + createdAt DateTime @default(now()) @map("created_at") + + @@index([userId, startDate]) + @@map("cleaning_absences") +} + // ---------------------------------------------------------------------------- // INVENTORY (Möbel & Geräte) // ----------------------------------------------------------------------------