// apps/api/prisma/schema.prisma generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } enum Role { ADMIN SUPERVISOR EMPLOYEE } enum SpaceType { DESK MEETING_ROOM AMENITY } model Organization { id String @id @default(uuid()) name String buildings Building[] users User[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Building { id String @id @default(uuid()) name String organization Organization @relation(fields: [organizationId], references: [id]) organizationId String floors Floor[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Floor { id String @id @default(uuid()) number Int building Building @relation(fields: [buildingId], references: [id]) buildingId String spaces Space[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Space { id String @id @default(uuid()) name String type SpaceType floor Floor @relation(fields: [floorId], references: [id]) floorId String x Float? // Percentage-based for responsiveness (Stage 3) y Float? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model User { id String @id @default(uuid()) email String @unique password String role Role @default(EMPLOYEE) organization Organization @relation(fields: [organizationId], references: [id]) organizationId String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt }