reservation implementation
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
ALTER TYPE "NotificationType" ADD VALUE IF NOT EXISTS 'DOCUMENTS_REQUIRED';
|
||||
ALTER TYPE "NotificationType" ADD VALUE IF NOT EXISTS 'PAYMENT_REQUIRED';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "marketplace_funnel_events" (
|
||||
"id" TEXT PRIMARY KEY,
|
||||
"eventName" TEXT NOT NULL,
|
||||
"companyId" TEXT,
|
||||
"companySlug" TEXT NOT NULL,
|
||||
"vehicleId" TEXT NOT NULL,
|
||||
"renterId" TEXT,
|
||||
"sessionId" TEXT,
|
||||
"path" TEXT,
|
||||
"metadata" JSONB NOT NULL DEFAULT '{}',
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_eventName_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("eventName", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_companyId_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("companyId", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_companySlug_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("companySlug", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_vehicleId_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("vehicleId", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_renterId_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("renterId", "createdAt");
|
||||
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE "reservations"
|
||||
ADD COLUMN IF NOT EXISTS "bookingReference" TEXT;
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "reservations_bookingReference_key"
|
||||
ON "reservations"("bookingReference");
|
||||
@@ -422,6 +422,8 @@ enum NotificationType {
|
||||
BOOKING_CANCELLED
|
||||
PAYMENT_RECEIVED
|
||||
PAYMENT_FAILED
|
||||
DOCUMENTS_REQUIRED
|
||||
PAYMENT_REQUIRED
|
||||
SUBSCRIPTION_TRIAL_ENDING
|
||||
SUBSCRIPTION_SUSPENDED
|
||||
VEHICLE_MAINTENANCE_DUE
|
||||
@@ -1293,6 +1295,7 @@ model Reservation {
|
||||
notes String?
|
||||
cancelReason String?
|
||||
cancelledBy CancelledBy?
|
||||
bookingReference String? @unique
|
||||
contractNumber String? @unique
|
||||
invoiceNumber String? @unique
|
||||
reviewToken String? @unique
|
||||
@@ -1345,6 +1348,26 @@ model ReservationPublicAccess {
|
||||
@@map("reservation_public_access")
|
||||
}
|
||||
|
||||
model MarketplaceFunnelEvent {
|
||||
id String @id @default(cuid())
|
||||
eventName String
|
||||
companyId String?
|
||||
companySlug String
|
||||
vehicleId String
|
||||
renterId String?
|
||||
sessionId String?
|
||||
path String?
|
||||
metadata Json @default("{}")
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@index([eventName, createdAt])
|
||||
@@index([companyId, createdAt])
|
||||
@@index([companySlug, createdAt])
|
||||
@@index([vehicleId, createdAt])
|
||||
@@index([renterId, createdAt])
|
||||
@@map("marketplace_funnel_events")
|
||||
}
|
||||
|
||||
|
||||
model WebhookEvent {
|
||||
id String @id @default(cuid())
|
||||
|
||||
Vendored
+2
@@ -9,6 +9,8 @@ export type NotificationType =
|
||||
| 'BOOKING_CANCELLED'
|
||||
| 'PAYMENT_RECEIVED'
|
||||
| 'PAYMENT_FAILED'
|
||||
| 'DOCUMENTS_REQUIRED'
|
||||
| 'PAYMENT_REQUIRED'
|
||||
| 'SUBSCRIPTION_TRIAL_ENDING'
|
||||
| 'SUBSCRIPTION_SUSPENDED'
|
||||
| 'VEHICLE_MAINTENANCE_DUE'
|
||||
|
||||
Reference in New Issue
Block a user