Files
MinglarBackendNestJS/prisma/schema.prisma

1830 lines
95 KiB
Plaintext
Raw Normal View History

2025-11-10 15:05:01 +05:30
generator client {
2025-11-12 16:03:57 +05:30
provider = "prisma-client-js"
binaryTargets = ["native", "rhel-openssl-3.0.x"] // Lambda Node 18/20 (Amazon Linux) target
2025-11-10 15:05:01 +05:30
previewFeatures = ["multiSchema"]
engineType = "library"
2025-11-10 15:05:01 +05:30
}
datasource db {
provider = "postgresql"
2025-11-26 12:00:48 +05:30
// url = env("DATABASE_URL")
2025-11-10 15:05:01 +05:30
schemas = ["mst", "usr", "hst", "act", "sch", "itn"]
}
model User {
2025-11-20 17:00:01 +05:30
id Int @id @default(autoincrement())
firstName String? @map("first_name") @db.VarChar(50)
lastName String? @map("last_name") @db.VarChar(50)
roleXid Int? @map("role_xid")
dateOfBirth DateTime? @map("date_of_birth")
genderName String? @map("gender_name") @db.VarChar(20)
2025-11-20 17:00:01 +05:30
role Roles? @relation(fields: [roleXid], references: [id], onDelete: Restrict)
emailAddress String? @unique @map("email_address") @db.VarChar(150)
2025-11-20 17:00:01 +05:30
isdCode String? @map("isd_code") @db.VarChar(6) // +91, +1, +971 etc.
mobileNumber String? @unique @map("mobile_number") @db.VarChar(15) // international safe limit
2025-11-20 17:00:01 +05:30
userPassword String? @map("user_password") @db.VarChar(255) // hashed passwords
userPasscode String? @map("user_passcode") @db.VarChar(255) // 46 digit passcode
2025-11-20 17:00:01 +05:30
profileImage String? @map("profile_image") @db.VarChar(500) // S3 key or URL
userLat String? @map("user_lat") @db.VarChar(20) // "-23.44444"
userLong String? @map("user_long") @db.VarChar(20)
userStatus String? @default("pending") @map("user_status") @db.VarChar(20)
isEmailVerfied Boolean? @default(false) @map("is_email_verified")
isMobileVerfied Boolean? @default(false) @map("is_mobile_verified")
isProfileUpdated Boolean? @default(false) @map("is_profile_updated")
userRefNumber String? @unique @map("user_ref_number") @db.VarChar(20)
2025-11-20 17:00:01 +05:30
isActive Boolean? @default(true) @map("is_active")
createdAt DateTime? @default(now()) @map("created_at")
updatedAt DateTime? @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
// Relations
2025-11-10 15:05:01 +05:30
UserOtp UserOtp[]
Connections Connections? @relation(fields: [connectionsXid], references: [id])
2025-11-19 13:00:25 +05:30
connectionsXid Int? @map("connectionsId")
EnergyLevels EnergyLevels? @relation(fields: [energyLevelsXid], references: [id])
2025-11-19 13:00:25 +05:30
energyLevelsXid Int? @map("energyLevelsId")
2025-11-20 17:00:01 +05:30
isBiometric Boolean? @default(false) @map("is_biometric")
2025-11-14 14:08:47 +05:30
hostHeaders HostHeader[] @relation("HostUser")
managedHostHeaders HostHeader[] @relation("AccountManager")
2025-11-10 15:05:01 +05:30
Token Token[]
ReviewedSuggestions HostSuggestion[] @relation("UserReviewedSuggestions")
hostTrack HostTrack[]
ActivitySuggestions ActivitySuggestions[]
ActivityAmDetails ActivityAmDetails[]
ActivityPQQSuggestions ActivityPQQSuggestions[]
ItineraryHeader ItineraryHeader[]
ItineraryMembers ItineraryMembers[]
memberInItineraries ItineraryMembers[] @relation("MemberUser")
invitedItineraries ItineraryMembers[] @relation("InvitedByUser")
ActivitySOSDetails ActivitySOSDetails[]
ActivityFeedbacks ActivityFeedbacks[]
ItineraryDetails ItineraryDetails[]
2025-11-14 14:08:47 +05:30
inviteDetails InviteDetails[] @relation("InvitedUser")
invitedInviteDetails InviteDetails[] @relation("InviterUser")
userRevenues UserRevenue[]
userInterests UserInterests[]
connectDetails ConnectDetails[]
friends Friends[]
friendOf Friends[] @relation("FriendUser")
2025-11-14 17:22:07 +05:30
userAddressDetails UserAddressDetails[]
userDocuments UserDocuments[]
activityTracks ActivityTrack[]
// 🔹 Activities created by this user
createdActivities Activities[] @relation("UserActivities")
userBucketInterests UserBucketInterested[]
// 🔹 Activities where this user is Account Manager
managedActivities Activities[] @relation("ActivityAccountManager")
activitySortings ActivitySorting[]
2025-11-10 15:05:01 +05:30
@@map("users")
@@schema("usr")
}
2025-11-14 17:22:07 +05:30
model UserAddressDetails {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
address1 String @map("address_1") @db.VarChar(150) // Street, building info
address2 String? @map("address_2") @db.VarChar(150) // Optional
2025-11-14 17:22:07 +05:30
countryXid Int @map("country_xid")
country Countries @relation(fields: [countryXid], references: [id], onDelete: Restrict)
stateXid Int @map("state_xid")
states States @relation(fields: [stateXid], references: [id], onDelete: Restrict)
cityXid Int @map("city_xid")
cities Cities @relation(fields: [cityXid], references: [id], onDelete: Restrict)
2025-11-20 17:00:01 +05:30
pinCode String @map("pin_code") @db.VarChar(10) // India: 6 digits, global safe: 10
locationName String? @map("location_name") @db.VarChar(100) // "Home", "Office", "Warehouse A"
locationAddress String? @map("location_address") @db.VarChar(200)
2025-11-14 17:22:07 +05:30
locationLat Float? @map("location_lat")
locationLong Float? @map("location_long")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("user_address_details")
@@schema("usr")
}
model UserDocuments {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
documentTypeName String @map("document_type_name") @db.VarChar(50)
fileName String @map("file_name") @db.VarChar(500)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-14 17:22:07 +05:30
@@map("user_documents")
@@schema("usr")
}
2025-11-10 15:05:01 +05:30
model UserOtp {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
otpType String @map("otp_type") @db.VarChar(20)
otpCode String @map("otp_code") @db.VarChar(255)
2025-11-10 15:05:01 +05:30
sendOn DateTime @default(now()) @map("send_on")
verifiedOn DateTime? @map("verified_on")
expiresOn DateTime @map("expires_on")
isVerified Boolean @default(false) @map("is_verified")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("user_otps")
@@schema("usr")
}
2025-11-14 14:08:47 +05:30
model InviteDetails {
2025-11-17 12:17:06 +05:30
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation("InvitedUser", fields: [userXid], references: [id], onDelete: Cascade)
is_invited Boolean @default(false) @map("is_invited")
invited_by Int @map("invited_by")
invitedBy User @relation("InviterUser", fields: [invited_by], references: [id], onDelete: Restrict)
invited_on DateTime @default(now()) @map("invited_on")
is_accepted Boolean @default(false) @map("is_accepted")
accepted_on DateTime? @map("accepted_on")
2025-11-20 17:00:01 +05:30
invitation_status String @default("invited") @map("invitation_status") @db.VarChar(20)
2025-11-17 12:17:06 +05:30
isMinglarInvitation Boolean @default(false) @map("is_minglar_invitation")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-14 14:08:47 +05:30
@@map("invite_details")
@@schema("usr")
}
model UserRevenue {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
is_fixed_salary Boolean @default(false) @map("is_fixed_salary")
per_value Float @map("per_value")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("user_revenue")
@@schema("usr")
}
model ActivitySorting {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
activitySortXid Int @map("activity_sort_xid")
activitySort ActivitySortFilter @relation(fields: [activitySortXid], references: [id], onDelete: Restrict)
sortOrder String @map("sort_order") @db.VarChar(20) // "asc", "desc"
filterValue String @map("filter_value") @db.VarChar(50) // e.g. "frequency", "created_at", "activity_date"
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@unique([userXid, activitySortXid])
@@map("activity_sorting")
@@schema("usr")
}
2025-11-14 14:08:47 +05:30
model ConnectDetails {
2026-02-19 15:23:32 +05:30
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
schoolCompanyXid Int @map("school_company_xid")
schoolCompany SchoolCompany @relation(fields: [schoolCompanyXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-14 14:08:47 +05:30
@@map("connect_details")
@@schema("usr")
}
model Friends {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
friendXid Int @map("friend_xid")
friend User @relation("FriendUser", fields: [friendXid], references: [id], onDelete: Cascade)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("friends")
@@schema("usr")
}
model UserInterests {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
interestXid Int @map("interest_xid")
interest Interests @relation(fields: [interestXid], references: [id], onDelete: Cascade)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("user_interests")
@@schema("usr")
}
model UserBucketInterested {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
isBucket Boolean @default(true) @map("is_bucket")
activityXid Int @map("activity_xid")
Activities Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
bucketTypeName String? @map("bucket_type_name") @db.VarChar(20) // "want_to_do", "tried_and_loved", "tried_and_disliked"
activityStatus String? @map("activity_status") @db.VarChar(20) // "pending", "completed", "removed"
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("user_bucket_interested")
@@schema("usr")
}
2026-02-19 15:23:32 +05:30
model SchoolCompany {
id Int @id @default(autoincrement())
schoolCompanyName String @map("school_company_name") @db.VarChar(255)
isSchool Boolean @map("is_school")
cityXid Int @map("city_xid")
cities Cities @relation(fields: [cityXid], references: [id], onDelete: Restrict)
2026-02-19 15:23:32 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
connectDetails ConnectDetails[]
@@map("school_company")
@@schema("mst")
}
2025-11-10 15:05:01 +05:30
model Countries {
2025-11-14 17:22:07 +05:30
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
countryName String @unique @map("country_name") @db.VarChar(50)
countryCode String @unique @map("country_code") @db.VarChar(10)
2025-11-14 17:22:07 +05:30
countryFlag String @map("country_flag")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
Currencies Currencies[]
States States[]
Taxes Taxes[]
Banks Banks[]
HostHeader HostHeader[]
hostParent HostParent[]
userAddressDetails UserAddressDetails[]
// 🔹 Activity relations
checkInActivities Activities[] @relation("CheckInCountry")
checkOutActivities Activities[] @relation("CheckOutCountry")
2025-11-10 15:05:01 +05:30
@@map("countries")
@@schema("mst")
}
model Currencies {
id Int @id @default(autoincrement())
countryXid Int @map("country_xid")
country Countries @relation(fields: [countryXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
currencyName String @unique @map("currency_name") @db.VarChar(20)
currencySymbol String @unique @map("currency_symbol") @db.VarChar(10)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
HostHeader HostHeader[]
Activities Activities[]
hostBankDetails HostBankDetails[]
2025-11-10 15:05:01 +05:30
@@map("currencies")
@@schema("mst")
}
model States {
2025-11-14 17:22:07 +05:30
id Int @id @default(autoincrement())
countryXid Int @map("country_xid")
country Countries @relation(fields: [countryXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
stateName String @unique @map("state_name") @db.VarChar(50)
2025-11-14 17:22:07 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
Cities Cities[]
BankBranches BankBranches[]
HostHeader HostHeader[]
hostParent HostParent[]
userAddressDetails UserAddressDetails[]
// 🔹 Activity relations
checkInActivities Activities[] @relation("CheckInState")
checkOutActivities Activities[] @relation("CheckOutState")
2025-11-10 15:05:01 +05:30
@@map("states")
@@schema("mst")
}
model Cities {
2025-11-14 17:22:07 +05:30
id Int @id @default(autoincrement())
stateXid Int @map("state_xid")
states States @relation(fields: [stateXid], references: [id], onDelete: Cascade)
cityName String @map("city_name") @db.VarChar(50)
2025-11-14 17:22:07 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
BankBranches BankBranches[]
HostHeader HostHeader[]
hostParent HostParent[]
userAddressDetails UserAddressDetails[]
// 🔹 Activity relations
checkInActivities Activities[] @relation("CheckInCity")
checkOutActivities Activities[] @relation("CheckOutCity")
schoolCompanies SchoolCompany[]
2025-11-10 15:05:01 +05:30
@@unique([stateXid, cityName])
2025-11-10 15:05:01 +05:30
@@map("cities")
@@schema("mst")
}
model Taxes {
id Int @id @default(autoincrement())
countryXid Int @map("country_xid")
country Countries @relation(fields: [countryXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
taxName String @unique @map("tax_name") @db.VarChar(100)
2025-11-10 15:05:01 +05:30
taxPer Int @map("tax_per")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityTrainerTaxes ActivityTrainerTaxes[]
ActivityPriceTaxes ActivityPriceTaxes[]
ActivityFoodTaxes ActivityFoodTaxes[]
ActivityEquipmentTaxes ActivityEquipmentTaxes[]
ActivityNavigationModesTaxes ActivityNavigationModesTaxes[]
ActivityPickUpTransportTaxes ActivityPickUpTransportTaxes[]
ItineraryDetailTaxes ItineraryDetailTaxes[]
@@map("taxes")
@@schema("mst")
}
model Banks {
id Int @id @default(autoincrement())
countryXid Int @map("country_xid")
country Countries @relation(fields: [countryXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
bankName String @unique @map("bank_name") @db.VarChar(100)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
BankBranches BankBranches[]
HostBankDetails HostBankDetails[]
@@map("banks")
@@schema("mst")
}
model ActivitySortFilter {
id Int @id @default(autoincrement())
sortFilterName String @map("sort_filter_name") @db.VarChar(50)
isSort Boolean @default(false) @map("is_sort")
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
activitySortings ActivitySorting[]
@@map("activity_sort_filter")
@@schema("mst")
}
2025-11-10 15:05:01 +05:30
model BankBranches {
id Int @id @default(autoincrement())
bankXid Int @map("bank_xid")
banks Banks @relation(fields: [bankXid], references: [id], onDelete: Cascade)
stateXid Int @map("state_xid")
states States @relation(fields: [stateXid], references: [id], onDelete: Restrict)
cityXid Int @map("city_xid")
cities Cities @relation(fields: [cityXid], references: [id], onDelete: Restrict)
2025-11-20 17:00:01 +05:30
branchAddress String @unique @map("branch_address") @db.VarChar(150)
ifscCode String @unique @map("ifsc_code") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
HostBankDetails HostBankDetails[]
@@map("bank_branches")
@@schema("mst")
}
model Interests {
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
interestName String @unique @map("interest_name") @db.VarChar(50)
interestColor String @map("interest_color") @db.VarChar(20)
interestImage String @map("interest_image") @db.VarChar(500)
2026-02-26 18:43:58 +05:30
interestCode String @unique @map("interest_code") @db.VarChar(10)
2025-11-10 15:05:01 +05:30
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityTypes ActivityTypes[]
2025-11-14 14:08:47 +05:30
userInterests UserInterests[]
2025-11-10 15:05:01 +05:30
@@map("interests")
@@schema("mst")
}
model ActivityTypes {
id Int @id @default(autoincrement())
interestXid Int @map("interest_xid")
interests Interests @relation(fields: [interestXid], references: [id], onDelete: Restrict)
activityTypeName String @unique @map("activity_type_name") @db.VarChar(50)
energyLevelXid Int @map("energy_level_xid")
energyLevel EnergyLevels @relation(fields: [energyLevelXid], references: [id], onDelete: Restrict)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
Activities Activities[]
@@map("acitivity_types")
@@schema("mst")
}
model DocumentType {
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
documentTypeName String @unique @map("document_type_name") @db.VarChar(30)
displayOrder Int? @map("display_order")
2025-11-10 15:05:01 +05:30
isVisible Boolean @default(true) @map("is_visible")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
HostDocuments HostDocuments[]
HostParenetDocuments HostParenetDocuments[]
@@map("document_type")
@@schema("mst")
}
2025-11-14 14:08:47 +05:30
model FoodCuisines {
id Int @id @default(autoincrement())
cuisineName String @unique @map("cuisine_name") @db.VarChar(30)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
activityCuisines ActivityCuisine[]
2025-11-14 14:08:47 +05:30
@@map("food_cuisines")
@@schema("mst")
}
model CompanyTypes {
id Int @id @default(autoincrement())
companyTypeName String @unique @map("company_type_name") @db.VarChar(100)
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
hostHeaders HostHeader[]
hostParents HostParent[]
2025-11-14 14:08:47 +05:30
@@map("company_types")
@@schema("mst")
}
2025-11-10 15:05:01 +05:30
model Amenities {
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
amenitiesName String @unique @map("amenities_name") @db.VarChar(30)
2026-02-11 11:49:18 +05:30
amenitiesIcon String @map("amenities_icon") @db.VarChar(500)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityAmenities ActivityAmenities[]
@@map("amenities")
@@schema("mst")
}
model FoodTypes {
id Int @id @default(autoincrement())
foodTypeName String @unique @map("food_type_name") @db.VarChar(30)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityFoodCost ActivityFoodCost[]
activityFoodTypes ActivityFoodTypes[]
2025-11-10 15:05:01 +05:30
@@map("food_types")
@@schema("mst")
}
model Frequencies {
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
frequencyName String @unique @map("frequency_name") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
Activities Activities[]
@@map("frequencies")
@@schema("mst")
}
model TransportModes {
id Int @id @default(autoincrement())
transportModeName String @unique @map("transport_mode_name") @db.VarChar(60)
2025-11-20 17:00:01 +05:30
transportModeIcon String @map("transport_mode_icon") @db.VarChar(500)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityPickUpTransport ActivityPickUpTransport[]
@@map("transport_modes")
@@schema("mst")
}
model PQQCategories {
id Int @id @default(autoincrement())
categoryName String @unique @map("category_name") @db.VarChar(100)
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
pqqsubCategories PQQSubCategories[]
2025-11-10 15:05:01 +05:30
@@map("pqq_categories")
@@schema("mst")
}
model PQQSubCategories {
id Int @id @default(autoincrement())
categoryXid Int @map("category_xid")
category PQQCategories @relation(fields: [categoryXid], references: [id], onDelete: Cascade)
subCategoryName String @map("sub_category_name") @db.VarChar(100)
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
questions PQQQuestions[]
@@map("pqq_sub_categories")
@@schema("mst")
}
2025-11-10 15:05:01 +05:30
model PQQQuestions {
2025-11-18 22:35:51 +05:30
id Int @id @default(autoincrement())
pqqSubCategoryXid Int @map("pqq_sub_category_xid")
pqqSubCategories PQQSubCategories @relation(fields: [pqqSubCategoryXid], references: [id], onDelete: Cascade)
questionName String @map("question_name") @db.VarChar(500)
2025-11-18 22:35:51 +05:30
maxPoints Int @map("max_points")
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
PQQAnswers PQQAnswers[]
ActivityPQQheader ActivityPQQheader[]
2025-11-10 15:05:01 +05:30
@@map("pqq_questions")
@@schema("mst")
}
model PQQAnswers {
id Int @id @default(autoincrement())
pqqQuestionXid Int @map("pqq_question_xid")
pqqQuestions PQQQuestions @relation(fields: [pqqQuestionXid], references: [id], onDelete: Cascade)
answerName String @map("answer_name") @db.VarChar(500)
answerPoints Int @map("answer_points")
2025-11-10 15:05:01 +05:30
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityPQQheader ActivityPQQheader[]
@@map("pqq_answers")
@@schema("mst")
}
model AgeRestrictions {
id Int @id @default(autoincrement())
ageRestrictionName String @unique @map("age_restriction_name") @db.VarChar(30)
minAge Int @map("min_age")
maxAge Int @map("max_age")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
// ActivityEligibility ActivityEligibility[]
2025-11-10 15:05:01 +05:30
@@map("age_restrictions")
@@schema("mst")
}
model AllowedEntryTypes {
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
allowedEntryTypeName String @unique @map("allowed_entry_type_name") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityAllowedEntry ActivityAllowedEntry[]
@@map("allowed_entry_types")
@@schema("mst")
}
model Roles {
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
roleName String @unique @map("role_name") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
User User[]
@@map("roles")
@@schema("mst")
}
model Connections {
id Int @id @default(autoincrement())
connectionType String @unique @map("connection_type") @db.VarChar(30)
connectionName String @map("connection_name") @db.VarChar(30)
locationDetails String @map("location_details") @db.VarChar(100)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
User User[]
@@map("connections")
@@schema("mst")
}
model EnergyLevels {
id Int @id @default(autoincrement())
energyLevelName String @unique @map("energy_level_name") @db.VarChar(30)
energyIcon String @map("energy_icon") @db.VarChar(400)
energyColor String @map("energy_color") @db.VarChar(20)
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
User User[]
activityTypes ActivityTypes[]
2025-11-10 15:05:01 +05:30
@@map("energy_levels")
@@schema("mst")
}
//Token Model
model Token {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
token String @unique @map("token") @db.VarChar(200)
tokenType String @map("token_type") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
expiringAt DateTime @map("expiring_at")
2025-11-20 17:00:01 +05:30
deviceId String? @map("device_id") @db.VarChar(30)
playerId String? @map("player_id") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isBlackListed Boolean @default(false) @map("is_black_listed")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("tokens")
@@schema("usr")
}
//HOST MODELS
model HostHeader {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation("HostUser", fields: [userXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
companyName String @map("company_name") @db.VarChar(100)
address1 String? @map("address_1") @db.VarChar(150)
2025-11-20 17:00:01 +05:30
address2 String? @map("address_2") @db.VarChar(150)
cityXid Int? @map("city_xid")
cities Cities? @relation(fields: [cityXid], references: [id], onDelete: Restrict)
stateXid Int? @map("state_xid")
states States? @relation(fields: [stateXid], references: [id], onDelete: Restrict)
countryXid Int? @map("country_xid")
2025-11-24 23:19:18 +05:30
countries Countries? @relation(fields: [countryXid], references: [id], onDelete: Restrict)
pinCode String? @map("pin_code") @db.VarChar(30)
2025-11-20 17:00:01 +05:30
logoPath String? @map("logo_path") @db.VarChar(400)
isSubsidairy Boolean? @default(false) @map("is_subsidairy")
registrationNumber String? @map("registration_number") @db.VarChar(30)
panNumber String? @map("pan_number") @db.VarChar(30)
2025-11-20 17:00:01 +05:30
gstNumber String? @map("gst_number") @db.VarChar(30)
formationDate DateTime? @map("formation_date")
companyTypeXid Int? @map("company_type_xid")
companyTypes CompanyTypes? @relation(fields: [companyTypeXid], references: [id], onDelete: Restrict)
websiteUrl String? @map("website_url") @db.VarChar(250)
instagramUrl String? @map("instagram_url") @db.VarChar(250)
facebookUrl String? @map("facebook_url") @db.VarChar(250)
linkedinUrl String? @map("linkedin_url") @db.VarChar(250)
twitterUrl String? @map("twitter_url") @db.VarChar(250)
currencyXid Int? @map("currency_xid")
currencies Currencies? @relation(fields: [currencyXid], references: [id], onDelete: Restrict)
stepper Int? @default(1) @map("stepper")
hostStatusInternal String? @default("pending") @map("host_status_internal") @db.VarChar(20)
hostStatusDisplay String? @default("pending") @map("host_status_Display") @db.VarChar(20)
adminStatusInternal String? @default("pending") @map("admin_status_internal") @db.VarChar(20)
adminStatusDisplay String? @default("pending") @map("admin_status_display") @db.VarChar(20)
amStatus String? @default("pending") @map("am_status") @db.VarChar(20)
agreementAccepted Boolean? @default(false) @map("agreement_accepted")
accountManagerXid Int? @map("account_manager_xid")
accountManager User? @relation("AccountManager", fields: [accountManagerXid], references: [id], onDelete: Restrict)
assignedOn DateTime? @map("assigned_on")
isApproved Boolean? @default(false) @map("is_approved")
agreementStartDate DateTime? @map("agreement_start_date")
durationNumber Int? @map("duration_number")
2025-11-20 17:00:01 +05:30
durationFrequency String? @map("duration_frequency") @db.VarChar(20)
isCommisionBase Boolean @default(false) @map("is_commision_base")
commisionPer Float? @map("commision_per")
amountPerBooking Int? @map("amount_per_booking")
payoutDurationNum Int? @map("payout_duration_num")
2025-11-20 17:00:01 +05:30
payoutDurationFrequency String? @map("payout_duration_frequency") @db.VarChar(20)
referencedBy String? @default("null") @map("referenced_by") @db.VarChar(100)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
HostBankDetails HostBankDetails[]
HostDocuments HostDocuments[]
HostSuggestion HostSuggestion[]
hostParent HostParent[]
HostTrack HostTrack[]
Activities Activities[]
2026-02-26 18:43:58 +05:30
hostAgreements HostAgreement[]
2025-11-10 15:05:01 +05:30
@@map("host_header")
@@schema("hst")
}
model HostBankDetails {
id Int @id @default(autoincrement())
hostXid Int @map("host_xid")
host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade)
bankXid Int @map("bank_xid")
banks Banks @relation(fields: [bankXid], references: [id], onDelete: Restrict)
bankBranchXid Int @map("bank_branch_xid")
bankBranches BankBranches @relation(fields: [bankBranchXid], references: [id], onDelete: Restrict)
2025-11-20 17:00:01 +05:30
accountHolderName String @map("account_holder_name") @db.VarChar(30)
accountNumber String @unique @map("account_number") @db.VarChar(30)
ifscCode String @map("ifsc_code") @db.VarChar(30)
currencyXid Int @map("currency_xid")
currencies Currencies @relation(fields: [currencyXid], references: [id], onDelete: Restrict)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("host_bank_details")
@@schema("hst")
}
model HostDocuments {
id Int @id @default(autoincrement())
hostXid Int @map("host_xid")
host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade)
documentTypeXid Int @map("document_type_xid")
documentType DocumentType @relation(fields: [documentTypeXid], references: [id], onDelete: Restrict)
2025-11-20 17:00:01 +05:30
documentName String @map("document_name") @db.VarChar(20)
filePath String @map("file_path") @db.VarChar(400)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("host_documents")
@@schema("hst")
}
2026-02-26 18:43:58 +05:30
model HostAgreement {
id Int @id @default(autoincrement())
hostXid Int @map("host_xid")
host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade)
filePath String @map("file_path") @db.VarChar(400)
versionNumber String @map("version_number") @db.VarChar(20)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("host_agreement")
@@schema("hst")
}
2025-11-10 15:05:01 +05:30
model HostSuggestion {
id Int @id @default(autoincrement())
hostXid Int @map("host_xid")
host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade)
title String @map("title") @db.VarChar(50)
2025-11-20 17:00:01 +05:30
comments String @map("comments") @db.VarChar(200)
2025-11-10 15:05:01 +05:30
isparent Boolean @default(false) @map("is_parent")
isreviewed Boolean @default(false) @map("is_reviewed")
reviewedByXid Int? @map("reviewed_by_xid")
reviewedBy User? @relation("UserReviewedSuggestions", fields: [reviewedByXid], references: [id], onDelete: Cascade)
2025-11-10 15:05:01 +05:30
reviewOn DateTime? @map("review_on")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("host_suggestion")
@@schema("hst")
}
model HostParent {
id Int @id @default(autoincrement())
hostXid Int @map("host_xid")
host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade)
companyName String @map("company_name") @db.VarChar(100)
address1 String? @map("address_1") @db.VarChar(150)
2025-11-20 17:00:01 +05:30
address2 String? @map("address_2") @db.VarChar(150)
cityXid Int? @map("city_xid")
cities Cities? @relation(fields: [cityXid], references: [id], onDelete: Restrict)
stateXid Int? @map("state_xid")
states States? @relation(fields: [stateXid], references: [id], onDelete: Restrict)
countryXid Int? @map("country_xid")
countries Countries? @relation(fields: [countryXid], references: [id], onDelete: Restrict)
pinCode String? @map("pin_code") @db.VarChar(30)
2025-11-20 17:00:01 +05:30
logoPath String? @map("logo_path") @db.VarChar(400)
registrationNumber String? @map("registration_number") @db.VarChar(30)
panNumber String? @map("pan_number") @db.VarChar(30)
2025-11-20 17:00:01 +05:30
gstNumber String? @map("gst_number") @db.VarChar(30)
formationDate DateTime? @map("formation_date")
companyTypeXid Int? @map("company_type_xid")
companyTypes CompanyTypes? @relation(fields: [companyTypeXid], references: [id], onDelete: Restrict)
websiteUrl String? @map("website_url") @db.VarChar(250)
instagramUrl String? @map("instagram_url") @db.VarChar(250)
facebookUrl String? @map("facebook_url") @db.VarChar(250)
linkedinUrl String? @map("linkedin_url") @db.VarChar(250)
twitterUrl String? @map("twitter_url") @db.VarChar(250)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
HostParenetDocuments HostParenetDocuments[]
@@map("host_parent")
@@schema("hst")
}
model HostParenetDocuments {
id Int @id @default(autoincrement())
hostParentXid Int @map("host_parent_xid")
hostParent HostParent @relation(fields: [hostParentXid], references: [id], onDelete: Cascade)
documentTypeXid Int @map("document_type_xid")
documentType DocumentType @relation(fields: [documentTypeXid], references: [id], onDelete: Restrict)
documentName String @map("document_name") @db.VarChar(50)
2025-11-20 17:00:01 +05:30
filePath String @map("file_path") @db.VarChar(400)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("host_parent_documents")
@@schema("hst")
}
model HostTrack {
id Int @id @default(autoincrement())
hostXid Int @map("host_xid")
host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade)
updatedByRole String @map("updated_by_role") @db.VarChar(50)
trackStatus String @map("track_status") @db.VarChar(20)
updatedByXid Int @map("updated_by_xid")
2025-11-29 12:20:42 +05:30
updatedBy User @relation(fields: [updatedByXid], references: [id], onDelete: Cascade)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
@@map("host_track")
@@schema("hst")
}
// ACTIVITY MODELS
model Activities {
2026-01-09 18:10:38 +05:30
id Int @id @default(autoincrement())
hostXid Int @map("host_xid")
host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade)
activityTypeXid Int @map("activity_type_xid")
activityType ActivityTypes @relation(fields: [activityTypeXid], references: [id], onDelete: Restrict)
frequenciesXid Int? @map("frequencies_xid")
frequency Frequencies? @relation(fields: [frequenciesXid], references: [id], onDelete: Restrict)
activityRefNumber String? @map("activity_ref_number") @db.VarChar(30)
activityTitle String? @map("activity_title") @db.VarChar(150)
activityDescription String? @map("activity_description") @db.VarChar(2000)
checkInLat Float? @map("check_in_lat")
checkInLong Float? @map("check_in_long")
checkInAddress String? @map("check_in_address") @db.VarChar(150)
isCheckOutSame Boolean? @default(true) @map("is_check_out_same")
checkOutLat Float? @map("check_out_lat")
checkOutLong Float? @map("check_out_long")
checkOutAddress String? @map("check_out_address") @db.VarChar(150)
set_early_checkin_time_mins String @default("null") @map("set_early_checkin_time_mins") @db.VarChar(200)
activityDurationMins Int? @map("activity_duration_mins")
foodAvailable Boolean? @map("food_available")
foodIsChargeable Boolean? @map("food_is_chargeable")
alcoholAvailable Boolean? @map("alcohol_available")
trainerAvailable Boolean? @map("trainer_available")
trainerIsChargeable Boolean? @map("trainer_is_chargeable")
pickUpDropAvailable Boolean? @map("pick_up_drop_available")
pickUpDropIsChargeable Boolean? @map("pick_up_drop_is_chargeable")
inActivityAvailable Boolean? @map("in_activity_available")
inActivityIsChargeable Boolean? @map("in_activity_is_chargeable")
isLateCheckingAllowed Boolean? @map("is_late_checking_allowed")
2026-01-09 18:10:38 +05:30
equipmentAvailable Boolean? @map("equipment_available")
equipmentIsChargeable Boolean? @map("equipment_is_chargeable")
cancellationAvailable Boolean? @map("cancellation_available")
checkInStateXid Int? @map("check_in_state_xid")
checkInState States? @relation("CheckInState", fields: [checkInStateXid], references: [id], onDelete: Restrict)
checkInCityXid Int? @map("check_in_city_xid")
checkInCity Cities? @relation("CheckInCity", fields: [checkInCityXid], references: [id], onDelete: Restrict)
checkInCountryXid Int? @map("check_in_country_xid")
checkInCountry Countries? @relation("CheckInCountry", fields: [checkInCountryXid], references: [id], onDelete: Restrict)
checkOutStateXid Int? @map("check_out_state_xid")
checkOutState States? @relation("CheckOutState", fields: [checkOutStateXid], references: [id], onDelete: Restrict)
checkOutCityXid Int? @map("check_out_city_xid")
checkOutCity Cities? @relation("CheckOutCity", fields: [checkOutCityXid], references: [id], onDelete: Restrict)
checkOutCountryXid Int? @map("check_out_country_xid")
checkOutCountry Countries? @relation("CheckOutCountry", fields: [checkOutCountryXid], references: [id], onDelete: Restrict)
// 🔹 Creator / owner
2026-01-09 18:10:38 +05:30
userId Int?
user User? @relation("UserActivities", fields: [userId], references: [id])
// 🔹 Account Manager
accountManagerXid Int?
accountManager User? @relation("ActivityAccountManager", fields: [accountManagerXid], references: [id], onDelete: Restrict)
cancellationAllowedBeforeMins Int? @map("cancellation_allowed_before_mins")
currencyXid Int? @map("currency_xid")
currencies Currencies? @relation(fields: [currencyXid], references: [id], onDelete: Restrict)
sustainabilityScore Int? @map("sustainability_score")
safetyScore Int? @map("safety_score")
totalScore Int? @map("total_score")
isInstantBooking Boolean? @default(false) @map("is_instant_booking")
2025-11-20 17:00:01 +05:30
activityInternalStatus String? @default("pending") @map("activity_internal_status") @db.VarChar(30)
activityDisplayStatus String? @default("pending") @map("activity_display_status") @db.VarChar(30)
amInternalStatus String? @default("pending") @map("am_internal_status") @db.VarChar(30)
amDisplayStatus String? @default("pending") @map("am_display_status") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityOtherDetails ActivityOtherDetails[]
ActivitiesMedia ActivitiesMedia[]
ActivityVenues ActivityVenues[]
ActivityTrainers ActivityTrainers[]
ActivityEligibility ActivityEligibility[]
ActivitySuggestions ActivitySuggestions[]
ActivityAmDetails ActivityAmDetails[]
ActivityPQQheader ActivityPQQheader[]
ActivityAllowedEntry ActivityAllowedEntry[]
ActivityFoodCost ActivityFoodCost[]
2025-11-10 15:05:01 +05:30
ActivityEquipments ActivityEquipments[]
ActivityNavigationModes ActivityNavigationModes[]
ActivityPickUpDetails ActivityPickUpDetails[]
ActivityAmenities ActivityAmenities[]
ScheduleHeader ScheduleHeader[]
ItineraryActivities ItineraryActivities[]
activityTracks ActivityTrack[]
activityFoodTypes ActivityFoodTypes[]
activityCuisines ActivityCuisine[]
activityPickUpTransports ActivityPickUpTransport[]
userBucketInterests UserBucketInterested[]
2025-11-10 15:05:01 +05:30
@@map("activities")
@@schema("act")
}
model ActivityOtherDetails {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
exclusiveNotes String? @map("exclusive_notes") @db.Text
SafetyInstruction String? @map("safety_instruction") @db.Text
Cancellations String? @map("cancellations") @db.Text
dosNotes String? @map("dos_notes") @db.Text
dontsNotes String? @map("donts_notes") @db.Text
tipsNotes String? @map("tips_notes") @db.Text
termsAndCondition String? @map("terms_and_condition") @db.Text
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_other_details")
@@schema("act")
}
model ActivityTrack {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
trackType String? @default("PQQ") @map("track_type")
updatedByRole String? @map("updated_by_role")
trackStatus String? @map("track_status")
updatedByXid Int? @map("updated_by_xid")
user User? @relation(fields: [updatedByXid], references: [id], onDelete: Cascade)
updatedOn DateTime? @map("updated_on")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_track")
@@schema("act")
}
2025-11-10 15:05:01 +05:30
model ActivitiesMedia {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
mediaType String @map("media_type") @db.VarChar(30)
mediaFileName String @map("media_file_name") @db.VarChar(400)
isCoverImage Boolean @default(false) @map("is_cover_image")
2025-11-10 15:05:01 +05:30
displayOrder Int @map("display_order")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activities_media")
@@schema("act")
}
model ActivityVenues {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
2026-01-09 18:10:38 +05:30
venueName String? @map("venue_name") @db.VarChar(50)
venueLabel String? @map("venue_label") @db.VarChar(70)
venueCapacity Int? @map("venue_capacity")
availableSeats Int? @map("available_seats")
isMinPeopleReqMandatory Boolean @default(false) @map("is_min_people_req_mandatory")
minPeopleRequired Int? @map("min_people_required")
minReqfullfilledBeforeMins Int? @map("min_req_fullfilled_before_mins")
venueDescription String? @map("venue_description") @db.VarChar(400)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
ScheduleHeader ScheduleHeader[]
ItineraryActivities ItineraryActivities[]
ActivityPrices ActivityPrices[] // <-- Added opposite relation
ActivityVenueArtifacts ActivityVenueArtifacts[] // <-- Added opposite relation
2025-11-10 15:05:01 +05:30
@@map("activity_venues")
@@schema("act")
}
model ActivityTrainers {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
baseAmount Int @map("base_amount")
totalAmount Int @map("total_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityTrainerTaxes ActivityTrainerTaxes[]
@@map("activity_trainers")
@@schema("act")
}
model ActivityTrainerTaxes {
id Int @id @default(autoincrement())
activityTrainerXid Int @map("activity_trainer_xid")
activityTrainer ActivityTrainers @relation(fields: [activityTrainerXid], references: [id], onDelete: Cascade)
taxXid Int @map("tax_xid")
taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict)
taxPer Float @map("tax_per")
taxAmount Int @map("tax_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_trainer_taxes")
@@schema("act")
}
model ActivityEligibility {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
isAgeRestriction Boolean @default(false) @map("is_age_restriction")
// ageRestrictionXid Int? @map("age_restriction_xid")
// ageRestriction AgeRestrictions? @relation(fields: [ageRestrictionXid], references: [id], onDelete: Restrict)
ageRestrictionName String? @map("age_restriction_name") @db.VarChar(30)
ageEntered Int? @map("age_entered")
ageIn String? @map("age_in") @db.VarChar(30)
minAge Int? @map("min_age")
maxAge Int? @map("max_age")
isWeightRestriction Boolean @default(false) @map("is_weight_restriction")
weightRestrictionName String? @map("weight_restriction_name") @db.VarChar(30)
weightEntered Int? @map("weight_entered")
weightIn String? @map("weight_in") @db.VarChar(30)
minWeight Int? @map("min_weight")
maxWeight Int? @map("max_weight")
isHeightRestriction Boolean @default(false) @map("is_height_restriction")
heightRestrictionName String? @map("height_restriction_name") @db.VarChar(30)
heightEntered Int? @map("height_entered")
heightIn String? @map("height_in") @db.VarChar(30)
minHeight Int? @map("min_height")
maxHeight Int? @map("max_height")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
// ageRestrictions AgeRestrictions? @relation(fields: [ageRestrictionsId], references: [id])
// ageRestrictionsId Int?
2025-11-10 15:05:01 +05:30
@@map("activity_eligibility")
@@schema("act")
}
model ActivitySuggestions {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
title String @map("title") @db.VarChar(30)
comments String @map("comments") @db.VarChar(200)
2025-11-10 15:05:01 +05:30
isReviewed Boolean @default(false) @map("is_reviewed")
reviewedByXid Int @map("reviewed_by_xid")
reviewedBy User @relation(fields: [reviewedByXid], references: [id], onDelete: Cascade)
reviewedOn DateTime? @map("reviewed_on")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_suggestions")
@@schema("act")
}
model ActivityAmDetails {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
accountManagerXid Int @map("account_manager_xid")
accountManager User @relation(fields: [accountManagerXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_am_details")
@@schema("act")
}
model ActivityPrices {
id Int @id @default(autoincrement())
activityVenueXid Int @map("activity_venue_xid")
activityVenue ActivityVenues @relation(fields: [activityVenueXid], references: [id], onDelete: Cascade)
2025-11-10 15:05:01 +05:30
noOfSession Int @map("no_of_session")
isPackage Boolean @default(false) @map("is_package")
sessionValidity Int @map("session_validity")
sessionValidityFrequency String @map("session_validity_frequency")
basePrice Int @map("base_price")
sellPrice Int @map("sell_price")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityPriceTaxes ActivityPriceTaxes[]
@@map("activity_prices")
@@schema("act")
}
model ActivityPriceTaxes {
id Int @id @default(autoincrement())
activityPriceXid Int @map("activity_price_xid")
activityPrice ActivityPrices @relation(fields: [activityPriceXid], references: [id], onDelete: Cascade)
taxXid Int @map("tax_xid")
taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict)
taxPer Float @map("tax_per")
taxAmount Int @map("tax_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_price_taxes")
@@schema("act")
}
model ActivityVenueArtifacts {
id Int @id @default(autoincrement())
activityVenueXid Int @map("activity_venue_xid")
2025-12-22 13:30:55 +05:30
activityVenue ActivityVenues @relation(fields: [activityVenueXid], references: [id], onDelete: Cascade)
mediaType String @map("media_type") @db.VarChar(30)
mediaFileName String @map("media_file_name") @db.VarChar(400)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
@@map("activity_venue_artifacts")
@@schema("act")
}
model ActivityPQQheader {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
pqqQuestionXid Int @map("pqq_question_xid")
pqqQuestions PQQQuestions @relation(fields: [pqqQuestionXid], references: [id], onDelete: Restrict)
pqqAnswerXid Int? @map("pqq_answer_xid")
pqqAnswers PQQAnswers? @relation(fields: [pqqAnswerXid], references: [id], onDelete: Restrict)
2025-11-20 17:00:01 +05:30
comments String? @map("comments") @db.VarChar(200)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityPQQSuggestions ActivityPQQSuggestions[]
ActivityPQQSupportings ActivityPQQSupportings[]
@@map("activity_pqq_header")
@@schema("act")
}
model ActivityPQQSuggestions {
id Int @id @default(autoincrement())
activityPqqHeaderXid Int @map("activity_pqq_header_xid")
activityPqqHeader ActivityPQQheader @relation(fields: [activityPqqHeaderXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
title String @map("title") @db.VarChar(30)
comments String @map("comments") @db.VarChar(200)
2025-11-10 15:05:01 +05:30
isReviewed Boolean @default(false) @map("is_reviewed")
reviewedByXid Int @map("reviewed_by_xid")
reviewedBy User @relation(fields: [reviewedByXid], references: [id], onDelete: Cascade)
reviewedOn DateTime? @map("reviewed_on")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_pqq_suggestions")
@@schema("act")
}
model ActivityPQQSupportings {
id Int @id @default(autoincrement())
activityPqqHeaderXid Int @map("activity_pqq_header_xid")
activityPqqHeader ActivityPQQheader @relation(fields: [activityPqqHeaderXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
mediaType String @map("media_type") @db.VarChar(30)
mediaFileName String @map("media_file_name") @db.VarChar(400)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_pqq_supportings")
@@schema("act")
}
model ActivityAllowedEntry {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
allowedEntryTypeXid Int @map("allowed_entry_type_xid")
allowedEntryType AllowedEntryTypes @relation(fields: [allowedEntryTypeXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_allowed_entry")
@@schema("act")
}
model ActivityFoodCost {
2025-11-10 15:05:01 +05:30
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
baseAmount Int @map("base_amount")
totalAmount Int @map("total_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityFoodTaxes ActivityFoodTaxes[]
foodTypes FoodTypes? @relation(fields: [foodTypesId], references: [id])
foodTypesId Int?
2025-11-10 15:05:01 +05:30
@@map("activity_food_cost")
@@schema("act")
}
model ActivityFoodTypes {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
foodTypeXid Int @map("food_type_xid")
foodType FoodTypes @relation(fields: [foodTypeXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_food_types")
@@schema("act")
}
model ActivityCuisine {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
foodCuisineXid Int @map("food_cuisine_xid")
foodCuisine FoodCuisines @relation(fields: [foodCuisineXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_cuisine")
2025-11-10 15:05:01 +05:30
@@schema("act")
}
model ActivityFoodTaxes {
id Int @id @default(autoincrement())
activityFoodCostXid Int @map("activity_food_cost_xid")
activityFoodCost ActivityFoodCost @relation(fields: [activityFoodCostXid], references: [id], onDelete: Cascade)
taxXid Int @map("tax_xid")
taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict)
taxPer Float @map("tax_per")
taxAmount Int @map("tax_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
@@map("activity_food_taxes")
@@schema("act")
}
model ActivityEquipments {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
equipmentName String @map("equipment_name") @db.VarChar(30)
isEquipmentChargeable Boolean @default(false) @map("is_equipment_chargeable")
equipmentBasePrice Int @map("equipment_base_price")
equipmentTotalPrice Int @map("equipment_total_price")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityEquipmentTaxes ActivityEquipmentTaxes[]
2025-11-10 15:05:01 +05:30
@@map("activity_equipments")
@@schema("act")
}
model ActivityEquipmentTaxes {
id Int @id @default(autoincrement())
activityEquipmentXid Int @map("activity_equipment_xid")
2025-12-21 17:28:08 +05:30
activityEquipment ActivityEquipments @relation(fields: [activityEquipmentXid], references: [id], onDelete: Cascade)
taxXid Int @map("tax_xid")
taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict)
taxPer Float @map("tax_per")
taxAmount Int @map("tax_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
@@map("activity_equipment_taxes")
@@schema("act")
}
model ActivityNavigationModes {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
navigationModeName String @map("navigation_mode_name") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isInActivityChargeable Boolean @default(false) @map("is_in_activity_chargeable")
navigationModesBasePrice Int @map("navigation_modes_base_price")
navigationModesTotalPrice Int @map("navigation_modes_total_price")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivityNavigationModesTaxes ActivityNavigationModesTaxes[]
@@map("activity_navigation_modes")
@@schema("act")
}
model ActivityNavigationModesTaxes {
id Int @id @default(autoincrement())
activityNavigationModeXid Int @map("activity_navigation_mode_xid")
activityNavigationMode ActivityNavigationModes @relation(fields: [activityNavigationModeXid], references: [id], onDelete: Cascade)
taxXid Int @map("tax_xid")
taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict)
taxPer Float @map("tax_per")
taxAmount Int @map("tax_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_navigation_modes_taxes")
@@schema("act")
}
model ActivityPickUpDetails {
id Int @id @default(autoincrement())
activities Activities? @relation(fields: [activitiesXid], references: [id])
activitiesXid Int? @map("activity_xid")
isPickUp Boolean @default(false) @map("is_pick_up")
locationLat Float? @map("location_lat")
locationLong Float? @map("location_long")
locationAddress String? @map("location_address") @db.VarChar(150)
2025-11-10 15:05:01 +05:30
transportBasePrice Int @map("transport_base_price")
transportTotalPrice Int @map("transport_total_price")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
activityPickUpTransportTaxes ActivityPickUpTransportTaxes[]
@@map("activity_pick_up_details")
@@schema("act")
}
model ActivityPickUpTransport {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
transportModeXid Int @map("transport_mode_xid")
transportMode TransportModes @relation(fields: [transportModeXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
@@map("activity_pick_up_transport")
@@schema("act")
}
model ActivityPickUpTransportTaxes {
id Int @id @default(autoincrement())
activityPickUpDetailsXid Int @map("activity_pick_up_xid")
activityPickUpDetails ActivityPickUpDetails @relation(fields: [activityPickUpDetailsXid], references: [id], onDelete: Cascade)
taxXid Int @map("tax_xid")
taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict)
taxPer Float @map("tax_per")
taxAmount Int @map("tax_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
@@map("activity_pick_up_transport_taxes")
@@schema("act")
}
model ActivityAmenities {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
amenitiesXid Int @map("amenities_xid")
amenities Amenities @relation(fields: [amenitiesXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_amenities")
@@schema("act")
}
//Activity Scheduling Models
model ScheduleHeader {
id Int @id @default(autoincrement())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
activityVenueXid Int @map("activity_venue_xid")
activityVenue ActivityVenues @relation(fields: [activityVenueXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
scheduleType String @map("schedule_type") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
startDate DateTime @map("start_date")
2026-01-28 15:49:19 +05:30
endDate DateTime? @map("end_date")
earlyCheckInMins Int? @map("early_check_in_mins")
bookingCutOffMins Int? @map("booking_cut_off_mins")
effectiveFromDt String? @map("effective_from_dt")
effectiveToDt String? @map("effective_to_dt")
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ScheduleDetails ScheduleDetails[]
Cancellations Cancellations[]
ItineraryActivities ItineraryActivities[]
2026-01-28 15:49:19 +05:30
scheduleOccurences ScheduleOccurences[]
scheduleRecurrences ScheduleRecurrence[]
2025-11-10 15:05:01 +05:30
@@map("schedule_header")
@@schema("sch")
}
model ScheduleDetails {
2026-02-26 18:43:58 +05:30
id Int @id @default(autoincrement())
scheduleHeaderXid Int @map("schedule_header_xid")
scheduleHeader ScheduleHeader @relation(fields: [scheduleHeaderXid], references: [id], onDelete: Cascade)
occurenceDate DateTime? @map("occurence_date")
weekDay String? @map("week_day") @db.VarChar(30)
dayOfMonth Int? @map("day_of_month")
startTime String @map("start_time") @db.VarChar(30)
endTime String @map("end_time") @db.VarChar(30)
maxCapacity Int @map("max_capacity")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2026-01-28 15:49:19 +05:30
@@map("schedule_details")
@@schema("sch")
}
model ScheduleOccurences {
2025-11-10 15:05:01 +05:30
id Int @id @default(autoincrement())
scheduleHeaderXid Int @map("schedule_header_xid")
scheduleHeader ScheduleHeader @relation(fields: [scheduleHeaderXid], references: [id], onDelete: Cascade)
2026-01-28 15:49:19 +05:30
occurenceDate DateTime @map("occurence_date")
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2026-01-28 15:49:19 +05:30
@@map("schedule_occurences")
@@schema("sch")
}
model ScheduleRecurrence {
id Int @id @default(autoincrement())
scheduleHeaderXid Int @map("schedule_header_xid")
scheduleHeader ScheduleHeader @relation(fields: [scheduleHeaderXid], references: [id], onDelete: Cascade)
weekDay String? @map("week_day") @db.VarChar(30)
dayOfMonth Int? @map("day_of_month")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("schedule_recurrence")
2025-11-10 15:05:01 +05:30
@@schema("sch")
}
model Cancellations {
2026-02-26 18:43:58 +05:30
id Int @id @default(autoincrement())
scheduleHeaderXid Int @map("schedule_header_xid")
scheduleHeader ScheduleHeader @relation(fields: [scheduleHeaderXid], references: [id], onDelete: Cascade)
occurenceDate DateTime? @map("occurence_date")
startTime String? @map("start_time") @db.VarChar(30)
endTime String? @map("end_time") @db.VarChar(30)
2026-02-26 18:43:58 +05:30
cancellationReason String? @map("cancellation_reason")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
2025-11-10 15:05:01 +05:30
@@map("cancellations")
2026-01-28 15:49:19 +05:30
@@schema("sch")
2025-11-10 15:05:01 +05:30
}
// ITINERARY MODELS
model ItineraryHeader {
id Int @id @default(autoincrement())
2025-11-20 17:00:01 +05:30
itineraryNo String @map("itinerary_no") @db.VarChar(30)
title String @map("title") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
ownerXid Int @map("owner_xid")
owner User @relation(fields: [ownerXid], references: [id], onDelete: Restrict)
fromDate DateTime @map("from_date")
2025-11-20 17:00:01 +05:30
fromTime String @map("from_time") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
toDate DateTime @map("to_date")
2025-11-20 17:00:01 +05:30
toTime String @map("to_time") @db.VarChar(30)
itineraryStatus String @default("draft") @map("itinerary_status") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ItineraryMembers ItineraryMembers[]
ItineraryStartStopDetails ItineraryStartStopDetails[]
ItineraryActivities ItineraryActivities[]
@@map("itinerary_header")
@@schema("itn")
}
model ItineraryMembers {
id Int @id @default(autoincrement())
itineraryHeaderXid Int @map("itinerary_header_xid")
itineraryHeader ItineraryHeader @relation(fields: [itineraryHeaderXid], references: [id], onDelete: Cascade)
memberXid Int @map("member_xid")
member User @relation("MemberUser", fields: [memberXid], references: [id], onDelete: Restrict)
2025-11-20 17:00:01 +05:30
memberRole String @map("member_role") @db.VarChar(30)
memberStatus String @default("pending") @map("member_status") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
invitedByXid Int @map("invited_by_xid")
invitedBy User @relation("InvitedByUser", fields: [invitedByXid], references: [id], onDelete: Restrict)
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ItineraryStartStopDetails ItineraryStartStopDetails[]
User User? @relation(fields: [userId], references: [id])
userId Int?
ItineraryDetails ItineraryDetails[]
@@map("itinerary_members")
@@schema("itn")
}
model ItineraryStartStopDetails {
id Int @id @default(autoincrement())
itineraryHeaderXid Int @map("itinerary_header_xid")
itineraryHeader ItineraryHeader @relation(fields: [itineraryHeaderXid], references: [id], onDelete: Cascade)
itineraryMemberXid Int @map("itinerary_member_xid")
itineraryMember ItineraryMembers @relation(fields: [itineraryMemberXid], references: [id], onDelete: Cascade)
dateValue DateTime @map("date_value")
2025-11-20 17:00:01 +05:30
timeValue String @map("time_value") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isStartPoint Boolean @map("is_start_point")
locationLat Float? @map("location_lat")
locationLong Float? @map("location_long")
locationAddress Json? @map("location_address")
2025-11-20 17:00:01 +05:30
travelMode String? @map("travel_mode") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
kmForNextPoint Float? @map("km_for_next_point")
timeForNextPointMins Int? @map("time_for_next_point_mins")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("itinerary_start_stop_details")
@@schema("itn")
}
model ItineraryActivities {
id Int @id @default(autoincrement())
itineraryHeaderXid Int @map("itinerary_header_xid")
itineraryHeader ItineraryHeader @relation(fields: [itineraryHeaderXid], references: [id], onDelete: Cascade)
2025-11-20 17:00:01 +05:30
itineraryType String @map("itinerary_type") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Restrict)
scheduledHeaderXid Int @map("scheduled_header_xid")
scheduledHeader ScheduleHeader @relation(fields: [scheduledHeaderXid], references: [id], onDelete: Restrict)
occurenceDate DateTime @map("occurence_date")
2025-11-20 17:00:01 +05:30
startTime String @map("start_time") @db.VarChar(30)
endTime String @map("end_time") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
endDate DateTime @map("end_date")
venueXid Int @map("venue_xid")
venue ActivityVenues @relation(fields: [venueXid], references: [id], onDelete: Restrict)
locationLat Float? @map("location_lat")
locationLong Float? @map("location_long")
locationAddress Json? @map("location_address")
2025-11-20 17:00:01 +05:30
travelMode String? @map("travel_mode") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
kmForNextPoint Float? @map("km_for_next_point")
timeForNextPointMins Int? @map("time_for_next_point_mins")
paxCount Int @map("pax_count")
totalAmount Int @map("total_amount")
2025-11-20 17:00:01 +05:30
bookingStatus String @default("pending") @map("booking_status") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ActivitySOSDetails ActivitySOSDetails[]
ActivityFeedbacks ActivityFeedbacks[]
ItineraryDetails ItineraryDetails[]
@@map("itinerary_activities")
@@schema("itn")
}
model ActivitySOSDetails {
id Int @id @default(autoincrement())
itineraryActivityXid Int @map("itinerary_activity_xid")
itineraryActivity ItineraryActivities @relation(fields: [itineraryActivityXid], references: [id], onDelete: Cascade)
updatedByXid Int @map("updated_by_xid")
updatedBy User @relation(fields: [updatedByXid], references: [id], onDelete: Restrict)
updatedOn DateTime @map("updated_on")
2025-11-20 17:00:01 +05:30
sosStatus String @map("sos_status") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
sosLat Float @map("sos_lat")
sosLong Float @map("sos_long")
2025-11-20 17:00:01 +05:30
comments String? @map("comments") @db.VarChar(200)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_sos_details")
@@schema("act")
}
model ActivityFeedbacks {
id Int @id @default(autoincrement())
itineraryActivityXid Int @map("itinerary_activity_xid")
itineraryActivity ItineraryActivities @relation(fields: [itineraryActivityXid], references: [id], onDelete: Cascade)
memberXid Int @map("member_xid")
member User @relation(fields: [memberXid], references: [id], onDelete: Cascade)
activityStars Int @map("activity_stars")
2025-11-20 17:00:01 +05:30
comments String? @map("comments") @db.VarChar(200)
2025-11-10 15:05:01 +05:30
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("activity_feedbacks")
@@schema("act")
}
model ItineraryDetails {
id Int @id @default(autoincrement())
itineraryActivityXid Int @map("itinerary_activity_xid")
itineraryActivity ItineraryActivities @relation(fields: [itineraryActivityXid], references: [id], onDelete: Cascade)
itineraryMemberXid Int @map("itinerary_member_xid")
itineraryMember ItineraryMembers @relation(fields: [itineraryMemberXid], references: [id], onDelete: Cascade)
hasOpted Boolean @default(false) @map("has_opted")
updatedOn DateTime @map("updated_on")
2025-11-20 17:00:01 +05:30
itineraryKind String @map("itinerary_kind") @db.VarChar(30)
description1 String? @map("description_1") @db.VarChar(100)
description2 String? @map("description_2") @db.VarChar(80)
offlineCode String? @map("offline_code") @db.VarChar(30)
activityStatus String @map("activity_status") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isChargeable Boolean @default(false) @map("is_chargeable")
baseAmount Int @map("base_amount")
totalAmount Int @map("total_amount")
2025-11-20 17:00:01 +05:30
itineraryStatus String @map("itinerary_status") @db.VarChar(30)
2025-11-10 15:05:01 +05:30
isPaid Boolean @default(false) @map("is_paid")
paidByXid Int? @map("paid_by_xid")
paidBy User? @relation(fields: [paidByXid], references: [id], onDelete: Restrict)
paidOn DateTime? @map("paid_on")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
ItineraryDetailTaxes ItineraryDetailTaxes[]
@@map("itinerary_details")
@@schema("itn")
}
model ItineraryDetailTaxes {
id Int @id @default(autoincrement())
itineraryDetailXid Int @map("itinerary_detail_xid")
itineraryDetail ItineraryDetails @relation(fields: [itineraryDetailXid], references: [id], onDelete: Cascade)
taxXid Int @map("tax_xid")
taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict)
taxPer Float @map("tax_per")
taxAmount Int @map("tax_amount")
isActive Boolean @default(true) @map("is_active")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedAt DateTime? @map("deleted_at")
@@map("itinerary_detail_taxes")
@@schema("itn")
}