Files
MinglarBackendNestJS/prisma/schema.prisma

1573 lines
80 KiB
Plaintext

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")
lastName String? @map("last_name")
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")
isdCode String? @map("isd_code")
mobileNumber String? @map("mobile_number")
userPassword String? @map("user_password")
userPasscode String? @map("user_passcode")
profileImage String? @map("profile_image")
isEmailVerfied Boolean? @default(false) @map("is_email_verified")
isMobileVerfied Boolean? @default(false) @map("is_mobile_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")
UserOtp UserOtp[]
Connections Connections? @relation(fields: [connectionsId], references: [id])
connectionsId Int?
EnergyLevels EnergyLevels? @relation(fields: [energyLevelsId], references: [id])
isBiometric Boolean? @default(false) @map("is_biometric")
energyLevelsId Int?
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[]
@@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")
address2 String? @map("address_2")
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")
locationName String? @map("location_name")
locationAddress String? @map("location_address")
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)
fileName String @map("file_name")
isActive 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")
otpCode String @map("otp_code")
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("pending") @map("invitation_status")
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")
countryCode String @unique @map("country_code")
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: Restrict)
currencyName String @unique @map("currency_name")
currencySymbol String @unique @map("currency_symbol")
isActive 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[]
@@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")
isActive 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")
isActive 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")
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: Restrict)
bankName String @unique @map("bank_name")
isActive 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")
ifscCode String @unique @map("ifsc_code")
isActive 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")
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")
isActive 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")
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")
isActive 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")
isActive 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("company_types")
@@schema("mst")
}
model Amenities {
id Int @id @default(autoincrement())
amenitiesName String @unique @map("amenities_name")
isActive 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")
isActive 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")
isActive 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")
navigationModeIcon String @map("navigation_mode_icon")
isActive 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")
transportModeIcon String @map("transport_mode_icon")
isActive 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")
subCategoryName String @map("sub_category_name")
categoryTitle String @map("category_title")
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")
PQQQuestions PQQQuestions[]
@@map("pqq_categories")
@@schema("mst")
}
model PQQQuestions {
id Int @id @default(autoincrement())
pqqCategoryXid Int @map("pqq_category_xid")
pqqCategories PQQCategories @relation(fields: [pqqCategoryXid], references: [id], onDelete: Cascade)
questionName String @unique @map("question_name")
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")
answerScore String @map("answer_score")
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")
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")
isActive 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")
isActive 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")
connectionName String @map("connection_name")
locationDetails String @map("location_details")
isActive 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")
energyIcon String @map("energy_icon")
isActive 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")
tokenType String @map("token_type")
expiringAt DateTime @map("expiring_at")
deviceId String? @map("device_id")
playerId String? @map("player_id")
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")
hostRefNumber String @map("host_ref_number")
address1 String @map("address_1")
address2 String? @map("address_2")
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")
logoPath String? @map("logo_path")
isSubsidairy Boolean @default(false) @map("is_subsidairy")
registrationNumber String @map("registration_number")
panNumber String @map("pan_number")
gstNumber String? @map("gst_number")
formationDate DateTime @map("formation_date")
companyType String @map("company_type")
websiteUrl String? @map("website_url")
instagramUrl String? @map("instagram_url")
facebookUrl String? @map("facebook_url")
linkedinUrl String? @map("linkedin_url")
twitterUrl String? @map("twitter_url")
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")
hostStatusDisplay String @default("pending") @map("host_status_Display")
adminStatusInternal String @default("pending") @map("admin_status_internal")
adminStatusDisplay String @default("pending") @map("admin_status_display")
amStatus String @default("pending") @map("am_status")
agreementAccepted Boolean @default(false) @map("agreement_accepted")
accountManagerXid Int? @map("account_manager_xid")
accountManager User? @relation("AccountManager", fields: [accountManagerXid], references: [id], onDelete: Restrict)
isApproved Boolean @default(false) @map("is_approved")
agreementStartDate DateTime? @map("agreement_start_date")
durationNumber Int? @map("duration_number")
durationFrequency String? @map("duration_frequency")
isCommisionBase Boolean @default(false) @map("is_commision_base")
commisionPer Float? @map("commision_per")
amountPerBooking Int? @map("amount_per_booking")
isActive 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")
accountNumber String @unique @map("account_number")
ifscCode String @map("ifsc_code")
isActive 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")
filePath String @map("file_path")
isActive 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")
comments String @map("comments")
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")
address1 String @map("address_1")
address2 String? @map("address_2")
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")
logoPath String? @map("logo_path")
isSubsidairy Boolean @default(false) @map("is_subsidairy")
registrationNumber String @map("registration_number")
panNumber String @map("pan_number")
gstNumber String? @map("gst_number")
formationDate DateTime @map("formation_date")
companyType String @map("company_type")
websiteUrl String? @map("website_url")
instagramUrl String? @map("instagram_url")
facebookUrl String? @map("facebook_url")
linkedinUrl String? @map("linkedin_url")
twitterUrl String? @map("twitter_url")
isActive 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")
filePath String @map("file_path")
isActive 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)
trackStatus String @map("track_status")
updatedByXid Int @map("updated_by_xid")
updatedBy User @relation(fields: [updatedByXid], 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_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")
activityTitle String @map("activity_title")
activityDescription String @map("activity_description")
checkInLat Float @map("check_in_lat")
checkInLong Float @map("check_in_long")
checkInAddress String @map("check_in_address")
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")
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")
activityDisplayStatus String @default("pending") @map("activity_display_status")
amInternalStatus String @default("pending") @map("am_internal_status")
amDisplayStatus String @default("pending") @map("am_display_status")
isActive 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[]
@@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")
exclusiveNotes String? @map("exclusive_notes")
dosNotes String? @map("dos_notes")
dontsNotes String? @map("donts_notes")
tipsNotes String? @map("tips_notes")
termsAndCondition String? @map("terms_and_condition")
isActive 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 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")
mediaFileName String @map("media_file_name")
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")
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")
isActive 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")
weightEntered Int? @map("weight_entered")
weightIn String? @map("weight_in")
isHeightRestriction Boolean @default(false) @map("is_height_restriction")
heightRestrictionName String? @map("height_restriction_name")
heightEntered Int? @map("height_entered")
heightIn String? @map("height_in")
isActive 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")
comments String @map("comments")
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")
mediaFileName String @map("media_file_name")
isActive 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")
isActive 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")
comments String @map("comments")
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")
mediaFileName String @map("media_file_name")
isActive 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")
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")
isActive 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")
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")
endTime String @map("end_time")
isActive 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")
endTime String @map("end_time")
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")
title String @map("title")
ownerXid Int @map("owner_xid")
owner User @relation(fields: [ownerXid], references: [id], onDelete: Restrict)
fromDate DateTime @map("from_date")
fromTime String @map("from_time")
toDate DateTime @map("to_date")
toTime String @map("to_time")
itineraryStatus String @default("draft") @map("itinerary_status")
isActive 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")
memberStatus String @default("pending") @map("member_status")
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")
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")
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")
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")
endTime String @map("end_time")
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")
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")
isActive 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")
sosLat Float @map("sos_lat")
sosLong Float @map("sos_long")
comments String? @map("comments")
isActive 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")
isActive 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")
description1 String? @map("description_1")
description2 String? @map("description_2")
offlineCode String? @map("offline_code")
activityStatus String @map("activity_status")
isChargeable Boolean @default(false) @map("is_chargeable")
baseAmount Int @map("base_amount")
totalAmount Int @map("total_amount")
itineraryStatus String @map("itinerary_status")
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")
}