1830 lines
95 KiB
Plaintext
1830 lines
95 KiB
Plaintext
generator client {
|
||
provider = "prisma-client-js"
|
||
binaryTargets = ["native", "rhel-openssl-3.0.x"] // Add Linux target
|
||
previewFeatures = ["multiSchema"]
|
||
engineType = "library"
|
||
}
|
||
|
||
datasource db {
|
||
provider = "postgresql"
|
||
// url = env("DATABASE_URL")
|
||
schemas = ["mst", "usr", "hst", "act", "sch", "itn"]
|
||
}
|
||
|
||
model User {
|
||
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)
|
||
role Roles? @relation(fields: [roleXid], references: [id], onDelete: Restrict)
|
||
emailAddress String? @unique @map("email_address") @db.VarChar(150)
|
||
isdCode String? @map("isd_code") @db.VarChar(6) // +91, +1, +971 etc.
|
||
mobileNumber String? @unique @map("mobile_number") @db.VarChar(15) // international safe limit
|
||
userPassword String? @map("user_password") @db.VarChar(255) // hashed passwords
|
||
userPasscode String? @map("user_passcode") @db.VarChar(255) // 4–6 digit passcode
|
||
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)
|
||
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
|
||
UserOtp UserOtp[]
|
||
Connections Connections? @relation(fields: [connectionsXid], references: [id])
|
||
connectionsXid Int? @map("connectionsId")
|
||
EnergyLevels EnergyLevels? @relation(fields: [energyLevelsXid], references: [id])
|
||
energyLevelsXid Int? @map("energyLevelsId")
|
||
isBiometric Boolean? @default(false) @map("is_biometric")
|
||
hostHeaders HostHeader[] @relation("HostUser")
|
||
managedHostHeaders HostHeader[] @relation("AccountManager")
|
||
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[]
|
||
inviteDetails InviteDetails[] @relation("InvitedUser")
|
||
invitedInviteDetails InviteDetails[] @relation("InviterUser")
|
||
userRevenues UserRevenue[]
|
||
userInterests UserInterests[]
|
||
connectDetails ConnectDetails[]
|
||
friends Friends[]
|
||
friendOf Friends[] @relation("FriendUser")
|
||
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[]
|
||
|
||
@@map("users")
|
||
@@schema("usr")
|
||
}
|
||
|
||
model UserAddressDetails {
|
||
id Int @id @default(autoincrement())
|
||
userXid Int @map("user_xid")
|
||
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
|
||
address1 String @map("address_1") @db.VarChar(150) // Street, building info
|
||
address2 String? @map("address_2") @db.VarChar(150) // Optional
|
||
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)
|
||
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)
|
||
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")
|
||
|
||
@@map("user_documents")
|
||
@@schema("usr")
|
||
}
|
||
|
||
model UserOtp {
|
||
id Int @id @default(autoincrement())
|
||
userXid Int @map("user_xid")
|
||
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
|
||
otpType String @map("otp_type") @db.VarChar(20)
|
||
otpCode String @map("otp_code") @db.VarChar(255)
|
||
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")
|
||
}
|
||
|
||
model InviteDetails {
|
||
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")
|
||
invitation_status String @default("invited") @map("invitation_status") @db.VarChar(20)
|
||
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")
|
||
|
||
@@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")
|
||
}
|
||
|
||
model ConnectDetails {
|
||
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")
|
||
|
||
@@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")
|
||
}
|
||
|
||
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)
|
||
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")
|
||
}
|
||
|
||
model Countries {
|
||
id Int @id @default(autoincrement())
|
||
countryName String @unique @map("country_name") @db.VarChar(50)
|
||
countryCode String @unique @map("country_code") @db.VarChar(10)
|
||
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")
|
||
|
||
@@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)
|
||
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[]
|
||
|
||
@@map("currencies")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model States {
|
||
id Int @id @default(autoincrement())
|
||
countryXid Int @map("country_xid")
|
||
country Countries @relation(fields: [countryXid], references: [id], onDelete: Cascade)
|
||
stateName String @unique @map("state_name") @db.VarChar(50)
|
||
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")
|
||
|
||
@@map("states")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model Cities {
|
||
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)
|
||
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[]
|
||
|
||
@@unique([stateXid, cityName])
|
||
@@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)
|
||
taxName String @unique @map("tax_name") @db.VarChar(100)
|
||
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)
|
||
bankName String @unique @map("bank_name") @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")
|
||
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")
|
||
}
|
||
|
||
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)
|
||
branchAddress String @unique @map("branch_address") @db.VarChar(150)
|
||
ifscCode String @unique @map("ifsc_code") @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")
|
||
HostBankDetails HostBankDetails[]
|
||
|
||
@@map("bank_branches")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model Interests {
|
||
id Int @id @default(autoincrement())
|
||
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)
|
||
interestCode String @unique @map("interest_code") @db.VarChar(10)
|
||
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[]
|
||
userInterests UserInterests[]
|
||
|
||
@@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)
|
||
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())
|
||
documentTypeName String @unique @map("document_type_name") @db.VarChar(30)
|
||
displayOrder Int? @map("display_order")
|
||
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")
|
||
}
|
||
|
||
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[]
|
||
|
||
@@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[]
|
||
|
||
@@map("company_types")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model Amenities {
|
||
id Int @id @default(autoincrement())
|
||
amenitiesName String @unique @map("amenities_name") @db.VarChar(30)
|
||
amenitiesIcon String @map("amenities_icon") @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")
|
||
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[]
|
||
|
||
@@map("food_types")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model Frequencies {
|
||
id Int @id @default(autoincrement())
|
||
frequencyName String @unique @map("frequency_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")
|
||
Activities Activities[]
|
||
|
||
@@map("frequencies")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model TransportModes {
|
||
id Int @id @default(autoincrement())
|
||
transportModeName String @unique @map("transport_mode_name") @db.VarChar(60)
|
||
transportModeIcon String @map("transport_mode_icon") @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")
|
||
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[]
|
||
|
||
@@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")
|
||
}
|
||
|
||
model PQQQuestions {
|
||
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)
|
||
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[]
|
||
|
||
@@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")
|
||
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[]
|
||
|
||
@@map("age_restrictions")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model AllowedEntryTypes {
|
||
id Int @id @default(autoincrement())
|
||
allowedEntryTypeName String @unique @map("allowed_entry_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")
|
||
ActivityAllowedEntry ActivityAllowedEntry[]
|
||
|
||
@@map("allowed_entry_types")
|
||
@@schema("mst")
|
||
}
|
||
|
||
model Roles {
|
||
id Int @id @default(autoincrement())
|
||
roleName String @unique @map("role_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")
|
||
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")
|
||
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")
|
||
User User[]
|
||
activityTypes ActivityTypes[]
|
||
|
||
@@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)
|
||
token String @unique @map("token") @db.VarChar(200)
|
||
tokenType String @map("token_type") @db.VarChar(30)
|
||
expiringAt DateTime @map("expiring_at")
|
||
deviceId String? @map("device_id") @db.VarChar(30)
|
||
playerId String? @map("player_id") @db.VarChar(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)
|
||
companyName String @map("company_name") @db.VarChar(100)
|
||
address1 String? @map("address_1") @db.VarChar(150)
|
||
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)
|
||
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)
|
||
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")
|
||
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")
|
||
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[]
|
||
hostAgreements HostAgreement[]
|
||
|
||
@@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)
|
||
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)
|
||
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)
|
||
documentName String @map("document_name") @db.VarChar(20)
|
||
filePath String @map("file_path") @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")
|
||
|
||
@@map("host_documents")
|
||
@@schema("hst")
|
||
}
|
||
|
||
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")
|
||
}
|
||
|
||
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)
|
||
comments String @map("comments") @db.VarChar(200)
|
||
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)
|
||
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)
|
||
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)
|
||
logoPath String? @map("logo_path") @db.VarChar(400)
|
||
registrationNumber String? @map("registration_number") @db.VarChar(30)
|
||
panNumber String? @map("pan_number") @db.VarChar(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)
|
||
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)
|
||
filePath String @map("file_path") @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")
|
||
|
||
@@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")
|
||
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")
|
||
|
||
@@map("host_track")
|
||
@@schema("hst")
|
||
}
|
||
|
||
// ACTIVITY MODELS
|
||
|
||
model Activities {
|
||
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")
|
||
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
|
||
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")
|
||
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)
|
||
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[]
|
||
ActivityEquipments ActivityEquipments[]
|
||
ActivityNavigationModes ActivityNavigationModes[]
|
||
ActivityPickUpDetails ActivityPickUpDetails[]
|
||
ActivityAmenities ActivityAmenities[]
|
||
ScheduleHeader ScheduleHeader[]
|
||
ItineraryActivities ItineraryActivities[]
|
||
activityTracks ActivityTrack[]
|
||
activityFoodTypes ActivityFoodTypes[]
|
||
activityCuisines ActivityCuisine[]
|
||
activityPickUpTransports ActivityPickUpTransport[]
|
||
userBucketInterests UserBucketInterested[]
|
||
|
||
@@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
|
||
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")
|
||
}
|
||
|
||
model ActivitiesMedia {
|
||
id Int @id @default(autoincrement())
|
||
activityXid Int @map("activity_xid")
|
||
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
|
||
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")
|
||
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)
|
||
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")
|
||
ScheduleHeader ScheduleHeader[]
|
||
ItineraryActivities ItineraryActivities[]
|
||
ActivityPrices ActivityPrices[] // <-- Added opposite relation
|
||
ActivityVenueArtifacts ActivityVenueArtifacts[] // <-- Added opposite relation
|
||
|
||
@@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?
|
||
|
||
@@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)
|
||
title String @map("title") @db.VarChar(30)
|
||
comments String @map("comments") @db.VarChar(200)
|
||
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)
|
||
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")
|
||
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")
|
||
|
||
@@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)
|
||
comments String? @map("comments") @db.VarChar(200)
|
||
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)
|
||
title String @map("title") @db.VarChar(30)
|
||
comments String @map("comments") @db.VarChar(200)
|
||
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)
|
||
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")
|
||
|
||
@@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 {
|
||
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?
|
||
|
||
@@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")
|
||
@@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")
|
||
|
||
@@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[]
|
||
|
||
@@map("activity_equipments")
|
||
@@schema("act")
|
||
}
|
||
|
||
model ActivityEquipmentTaxes {
|
||
id Int @id @default(autoincrement())
|
||
activityEquipmentXid Int @map("activity_equipment_xid")
|
||
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")
|
||
|
||
@@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)
|
||
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)
|
||
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")
|
||
|
||
@@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")
|
||
|
||
@@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)
|
||
scheduleType String @map("schedule_type") @db.VarChar(30)
|
||
startDate DateTime @map("start_date")
|
||
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")
|
||
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[]
|
||
scheduleOccurences ScheduleOccurences[]
|
||
scheduleRecurrences ScheduleRecurrence[]
|
||
|
||
@@map("schedule_header")
|
||
@@schema("sch")
|
||
}
|
||
|
||
model ScheduleDetails {
|
||
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")
|
||
|
||
@@map("schedule_details")
|
||
@@schema("sch")
|
||
}
|
||
|
||
model ScheduleOccurences {
|
||
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")
|
||
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_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")
|
||
@@schema("sch")
|
||
}
|
||
|
||
model Cancellations {
|
||
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)
|
||
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")
|
||
|
||
@@map("cancellations")
|
||
@@schema("sch")
|
||
}
|
||
|
||
// ITINERARY MODELS
|
||
|
||
model ItineraryHeader {
|
||
id Int @id @default(autoincrement())
|
||
itineraryNo String @map("itinerary_no") @db.VarChar(30)
|
||
title String @map("title") @db.VarChar(30)
|
||
ownerXid Int @map("owner_xid")
|
||
owner User @relation(fields: [ownerXid], references: [id], onDelete: Restrict)
|
||
fromDate DateTime @map("from_date")
|
||
fromTime String @map("from_time") @db.VarChar(30)
|
||
toDate DateTime @map("to_date")
|
||
toTime String @map("to_time") @db.VarChar(30)
|
||
itineraryStatus String @default("draft") @map("itinerary_status") @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")
|
||
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)
|
||
memberRole String @map("member_role") @db.VarChar(30)
|
||
memberStatus String @default("pending") @map("member_status") @db.VarChar(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")
|
||
timeValue String @map("time_value") @db.VarChar(30)
|
||
isStartPoint Boolean @map("is_start_point")
|
||
locationLat Float? @map("location_lat")
|
||
locationLong Float? @map("location_long")
|
||
locationAddress Json? @map("location_address")
|
||
travelMode String? @map("travel_mode") @db.VarChar(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)
|
||
itineraryType String @map("itinerary_type") @db.VarChar(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")
|
||
startTime String @map("start_time") @db.VarChar(30)
|
||
endTime String @map("end_time") @db.VarChar(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")
|
||
travelMode String? @map("travel_mode") @db.VarChar(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")
|
||
bookingStatus String @default("pending") @map("booking_status") @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")
|
||
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")
|
||
sosStatus String @map("sos_status") @db.VarChar(30)
|
||
sosLat Float @map("sos_lat")
|
||
sosLong Float @map("sos_long")
|
||
comments String? @map("comments") @db.VarChar(200)
|
||
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")
|
||
comments String? @map("comments") @db.VarChar(200)
|
||
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")
|
||
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)
|
||
isChargeable Boolean @default(false) @map("is_chargeable")
|
||
baseAmount Int @map("base_amount")
|
||
totalAmount Int @map("total_amount")
|
||
itineraryStatus String @map("itinerary_status") @db.VarChar(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")
|
||
}
|