Files
MinglarBackendNestJS/prisma/schema.prisma

1630 lines
85 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "rhel-openssl-3.0.x"] // Add Linux target
previewFeatures = ["multiSchema"]
}
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")
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? @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(10) // 46 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? @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[]
@@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 ConnectDetails {
id Int @id @default(autoincrement())
userXid Int @map("user_xid")
user User @relation(fields: [userXid], references: [id], onDelete: Cascade)
connectXid Int @map("connect_xid")
connect Connections @relation(fields: [connectXid], 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("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 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[]
@@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[]
@@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 @unique @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[]
@@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 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)
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(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())
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")
@@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)
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")
ActivityFoodDetails ActivityFoodDetails[]
@@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 NavigationModes {
id Int @id @default(autoincrement())
navigationModeName String @unique @map("navigation_mode_name") @db.VarChar(30)
navigationModeIcon String @map("navigation_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")
ActivityNavigationModes ActivityNavigationModes[]
@@map("navigation_modes")
@@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[]
connectDetails ConnectDetails[]
@@map("connections")
@@schema("mst")
}
model EnergyLevels {
id Int @id @default(autoincrement())
energyLevelName String @map("energy_level_name") @db.VarChar(30)
energyIcon String @map("energy_icon") @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")
User User[]
Activities Activities[]
@@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[]
@@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 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(20)
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(30)
activityDescription String? @map("activity_description") @db.VarChar(80)
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)
energyLevelXid Int? @map("energy_level_xid")
energyLevel EnergyLevels? @relation(fields: [energyLevelXid], references: [id], onDelete: Restrict)
activityDurationMins Int? @map("activity_duration_mins")
foodAvailable Boolean? @default(false) @map("food_available")
foodIsChargeable Boolean? @default(false) @map("food_is_chargeable")
alcoholAvailable Boolean? @default(false) @map("alcohol_available")
trainerAvailable Boolean? @default(false) @map("trainer_available")
trainerIsChargeable Boolean? @default(false) @map("trainer_is_chargeable")
pickUpDropAvailable Boolean? @default(false) @map("pick_up_drop_available")
pickUpDropIsChargeable Boolean? @default(false) @map("pick_up_drop_is_chargeable")
inActivityAvailable Boolean? @default(false) @map("in_activity_available")
inActivityIsChargeable Boolean? @default(false) @map("in_activity_is_chargeable")
equipmentAvailable Boolean? @default(false) @map("equipment_available")
equipmentIsChargeable Boolean? @default(false) @map("equipment_is_chargeable")
cancellationAvailable Boolean? @default(false) @map("cancellation_available")
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[]
ActivityPrices ActivityPrices[]
ActivityVenueArtifacts ActivityVenueArtifacts[]
ActivityPQQheader ActivityPQQheader[]
ActivityAllowedEntry ActivityAllowedEntry[]
ActivityFoodDetails ActivityFoodDetails[]
ActivityEquipments ActivityEquipments[]
ActivityNavigationModes ActivityNavigationModes[]
ActivityPickUpDetails ActivityPickUpDetails[]
ActivityAmenities ActivityAmenities[]
ActivityEquipmentTaxes ActivityEquipmentTaxes[]
ScheduleHeader ScheduleHeader[]
ItineraryActivities ItineraryActivities[]
activityTracks ActivityTrack[]
@@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)
foodCuisines String? @map("food_cuisines") @db.VarChar(30)
exclusiveNotes String? @map("exclusive_notes") @db.VarChar(50)
dosNotes String? @map("dos_notes") @db.VarChar(200)
dontsNotes String? @map("donts_notes") @db.VarChar(200)
tipsNotes String? @map("tips_notes") @db.VarChar(100)
termsAndCondition String? @map("terms_and_condition") @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("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)
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)
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(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")
ScheduleHeader ScheduleHeader[]
ItineraryActivities ItineraryActivities[]
@@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)
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)
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)
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_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 Activities @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 Activities @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 ActivityFoodDetails {
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)
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[]
@@map("activity_food_details")
@@schema("act")
}
model ActivityFoodTaxes {
id Int @id @default(autoincrement())
activityFoodDetailsXid Int @map("activity_food_details_xid")
activityFoodDetails ActivityFoodDetails @relation(fields: [activityFoodDetailsXid], 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")
@@map("activity_equipments")
@@schema("act")
}
model ActivityEquipmentTaxes {
id Int @id @default(autoincrement())
activityEquipmentXid Int @map("activity_equipment_xid")
activityEquipment Activities @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)
navigationModeXid Int @map("navigation_mode_xid")
navigationMode NavigationModes @relation(fields: [navigationModeXid], references: [id], onDelete: Restrict)
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())
activityXid Int @map("activity_xid")
activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade)
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)
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("activity_pick_up_details")
@@schema("act")
}
model ActivityPickUpTransport {
id Int @id @default(autoincrement())
activityPickUpDetailsXid Int @map("activity_pick_up_details_xid")
activityPickUpDetails ActivityPickUpDetails @relation(fields: [activityPickUpDetailsXid], references: [id], onDelete: Cascade)
transportModeXid Int @map("transport_mode_xid")
transportMode TransportModes @relation(fields: [transportModeXid], references: [id], onDelete: Restrict)
isTransportModeChargeable Boolean @default(false) @map("is_transport_mode_chargeable")
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_transport")
@@schema("act")
}
model ActivityPickUpTransportTaxes {
id Int @id @default(autoincrement())
activityPickUpTransportXid Int @map("activity_pick_up_transport_xid")
activityPickUpTransport ActivityPickUpTransport @relation(fields: [activityPickUpTransportXid], 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")
byWeekday Boolean @default(false) @map("by_weekday")
earlyCheckInMins Int @map("early_check_in_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")
ScheduleDetails ScheduleDetails[]
Cancellations Cancellations[]
ItineraryActivities ItineraryActivities[]
@@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)
startTime String @map("start_time") @db.VarChar(30)
endTime String @map("end_time") @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")
@@map("schedule_details")
@@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("act")
}
// 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")
}