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