Files
MarkusandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 2b24334bfa Initial upload of BB-Apartment 2026 website.
Adds the complete Next.js website including i18n routing, house and
apartment pages, Beds24 v2 integration for live availability/pricing,
Stripe checkout, contact forms, Docker setup and deployment docs.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-19 22:54:49 +02:00

66 lines
1.7 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Booking {
id String @id @default(cuid())
bookingReference String @unique
apartmentSlug String
houseId String
beds24PropertyId String
beds24RoomId String
guestEmail String
guestName String
checkIn DateTime
checkOut DateTime
nights Int
totalAmount Decimal @db.Decimal(10, 2)
depositAmount Decimal @db.Decimal(10, 2)
currency String @default("EUR")
status String @default("pending") // pending, deposit_paid, confirmed, cancelled
// Stripe mapping (per house account)
stripeAccountId String
stripeCustomerId String?
stripeCheckoutSessionId String?
stripePaymentIntentId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
invoices Invoice[]
}
model Invoice {
id String @id @default(cuid())
bookingId String
booking Booking @relation(fields: [bookingId], references: [id], onDelete: Cascade)
invoiceNumber String @unique
amount Decimal @db.Decimal(10, 2)
currency String @default("EUR")
dueDate DateTime
status String @default("pending") // pending, paid, overdue, cancelled
// Stripe invoice mapping
stripeInvoiceId String?
stripeInvoiceUrl String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model StripeEvent {
id String @id @default(cuid())
eventId String @unique
accountId String
type String
payload String
processedAt DateTime @default(now())
}