Files
MinglarBackendNestJS/prisma/seed.ts

1690 lines
116 KiB
TypeScript

import { PrismaClient } from '@prisma/client';
import { PrismaPg } from '@prisma/adapter-pg';
import 'dotenv/config';
import { seedCities } from './citiesSeeder'
const prisma = new PrismaClient({
adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }),
});
async function main() {
// ✅ Countries
// const india = await prisma.countries.upsert({
// where: { countryName: 'India' },
// update: {},
// create: {
// countryName: 'India',
// countryCode: 'IN',
// countryFlag: '🇮🇳',
// isActive: true,
// },
// });
// ================= STATES =================
// const statesList = [
// 'Andhra Pradesh',
// 'Arunachal Pradesh',
// 'Assam',
// 'Bihar',
// 'Chhattisgarh',
// 'Goa',
// 'Gujarat',
// 'Haryana',
// 'Himachal Pradesh',
// 'Jharkhand',
// 'Karnataka',
// 'Kerala',
// 'Madhya Pradesh',
// 'Maharashtra',
// 'Manipur',
// 'Meghalaya',
// 'Mizoram',
// 'Nagaland',
// 'Odisha',
// 'Punjab',
// 'Rajasthan',
// 'Sikkim',
// 'Tamil Nadu',
// 'Telangana',
// 'Tripura',
// 'Uttar Pradesh',
// 'Uttarakhand',
// 'West Bengal',
// // Union Territories
// 'Andaman and Nicobar Islands',
// 'Chandigarh',
// 'Dadra and Nagar Haveli and Daman and Diu',
// 'Delhi',
// 'Jammu and Kashmir',
// 'Ladakh',
// 'Lakshadweep',
// 'Puducherry'
// ];
// for (const stateName of statesList) {
// await prisma.states.upsert({
// where: { stateName },
// update: {},
// create: {
// countryXid: india.id,
// stateName,
// },
// });
// }
// ✅ Currencies
// await prisma.currencies.createMany({
// data: [
// { countryXid: india.id, currencyName: 'Indian Rupee', currencySymbol: '₹' },
// ],
// skipDuplicates: true,
// });
// // ✅ States
// const maharashtra = await prisma.states.upsert({
// where: { stateName: 'Maharashtra' },
// update: {},
// create: { countryXid: india.id, stateName: 'Maharashtra' },
// });
// const uttarpradesh = await prisma.states.upsert({
// where: { stateName: 'Uttar-Pradesh' },
// update: {},
// create: { countryXid: india.id, stateName: 'Uttar-Pradesh' },
// });
// const Rajasthan = await prisma.states.upsert({
// where: { stateName: 'Rajasthan' },
// update: {},
// create: { countryXid: india.id, stateName: 'Rajasthan' },
// });
// const Uttarakhand = await prisma.states.upsert({
// where: { stateName: 'Uttarakhand' },
// update: {},
// create: { countryXid: india.id, stateName: 'Uttarakhand' },
// });
// const HimachalPradesh = await prisma.states.upsert({
// where: { stateName: 'Himachal Pradesh' },
// update: {},
// create: { countryXid: india.id, stateName: 'Himachal Pradesh' },
// });
// const Gujrat = await prisma.states.upsert({
// where: { stateName: 'Gujrat' },
// update: {},
// create: { countryXid: india.id, stateName: 'Gujrat' },
// });
// // ✅ Cities
// await prisma.cities.createMany({
// data: [
// { stateXid: maharashtra.id, cityName: 'Mumbai' },
// { stateXid: uttarpradesh.id, cityName: 'Azamgarh' },
// { stateXid: uttarpradesh.id, cityName: 'Lucknow' },
// { stateXid: uttarpradesh.id, cityName: 'Prayagraj' },
// { stateXid: Rajasthan.id, cityName: 'Jaipur' },
// { stateXid: Rajasthan.id, cityName: 'Jaisalmer' },
// { stateXid: Uttarakhand.id, cityName: 'Haridwar' },
// { stateXid: HimachalPradesh.id, cityName: 'Manali' },
// { stateXid: Gujrat.id, cityName: 'Surat' },
// { stateXid: Gujrat.id, cityName: 'Ahemdabad' },
// { stateXid: Gujrat.id, cityName: 'Rajkot' },
// ],
// skipDuplicates: true,
// });
// // ✅ Taxes
// await prisma.taxes.createMany({
// data: [
// { countryXid: india.id, taxName: 'GST', taxPer: 18 },
// ],
// skipDuplicates: true,
// });
// // ✅ Banks
// const hdfc = await prisma.banks.upsert({
// where: { bankName: 'HDFC Bank' },
// update: {},
// create: { countryXid: india.id, bankName: 'HDFC Bank' },
// });
// const indianBank = await prisma.banks.upsert({
// where: { bankName: 'Indian Bank' },
// update: {},
// create: { countryXid: india.id, bankName: 'Indian Bank' },
// });
// const Kotak = await prisma.banks.upsert({
// where: { bankName: 'Kotak Bank' },
// update: {},
// create: { countryXid: india.id, bankName: 'Kotak Bank' },
// });
// const BOI = await prisma.banks.upsert({
// where: { bankName: 'Bank of India' },
// update: {},
// create: { countryXid: india.id, bankName: 'Bank of India' },
// });
// // ✅ Bank Branches
// await prisma.bankBranches.createMany({
// data: [
// {
// bankXid: hdfc.id,
// stateXid: maharashtra.id,
// cityXid: (await prisma.cities.findFirst({ where: { cityName: 'Mumbai' } }))!.id,
// branchAddress: 'HDFC Fort Branch, Mumbai',
// ifscCode: 'HDFC0001234',
// },
// {
// bankXid: indianBank.id,
// stateXid: maharashtra.id,
// cityXid: (await prisma.cities.findFirst({ where: { cityName: 'Mumbai' } }))!.id,
// branchAddress: 'Indian Bank Fort Branch, Mumbai',
// ifscCode: 'IDIB0001234',
// },
// {
// bankXid: Kotak.id,
// stateXid: Uttarakhand.id,
// cityXid: (await prisma.cities.findFirst({ where: { cityName: 'Haridwar' } }))!.id,
// branchAddress: 'Kotak Fort Branch, Mumbai',
// ifscCode: 'KTB0001234',
// },
// {
// bankXid: BOI.id,
// stateXid: uttarpradesh.id,
// cityXid: (await prisma.cities.findFirst({ where: { cityName: 'Azamgarh' } }))!.id,
// branchAddress: 'Bank of India Fort Branch, Mumbai',
// ifscCode: 'BOI0001234',
// },
// ],
// skipDuplicates: true,
// });
// ✅ Energy Levels
const highEnergy = await prisma.energyLevels.upsert({
where: { energyLevelName: 'High' },
update: {},
create: { energyLevelName: 'High', energyIcon: '📶', energyColor: 'Green', displayOrder: 1 },
});
const mediumEnergy = await prisma.energyLevels.upsert({
where: { energyLevelName: 'Medium' },
update: {},
create: { energyLevelName: 'Medium', energyIcon: '📶', energyColor: 'Yellow', displayOrder: 2 },
});
const lowEnergy = await prisma.energyLevels.upsert({
where: { energyLevelName: 'Low' },
update: {},
create: { energyLevelName: 'Low', energyIcon: '📶', energyColor: 'Red', displayOrder: 3 },
});
// ✅ Interests + Activity Types
const chillandzen = await prisma.interests.upsert({
where: { interestName: 'Chill & Zen' },
update: {},
create: { interestName: 'Chill & Zen', displayOrder: 1, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/ChillandZen.png', interestCode: 'CZ' },
});
const artsyfeels = await prisma.interests.upsert({
where: { interestName: 'Artsy Feels' },
update: {},
create: { interestName: 'Artsy Feels', displayOrder: 2, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/ArtsyFeels.png', interestCode: 'AF' },
});
const sweatmode = await prisma.interests.upsert({
where: { interestName: 'Sweat Mode' },
update: {},
create: { interestName: 'Sweat Mode', displayOrder: 3, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/SweatMode.png', interestCode: 'SM' },
});
const gamecraft = await prisma.interests.upsert({
where: { interestName: 'Gamecraft' },
update: {},
create: { interestName: 'Gamecraft', displayOrder: 4, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/Gamecraft.png', interestCode: 'GC' },
});
const wildandfree = await prisma.interests.upsert({
where: { interestName: 'Wild & Free' },
update: {},
create: { interestName: 'Wild & Free', displayOrder: 5, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/WildandFree.png', interestCode: 'WF' },
});
const splashlife = await prisma.interests.upsert({
where: { interestName: 'Splash Life' },
update: {},
create: { interestName: 'Splash Life', displayOrder: 6, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/SplashLife.png', interestCode: 'SL' },
});
const cultureandheritage = await prisma.interests.upsert({
where: { interestName: 'Culture & Heritage' },
update: {},
create: { interestName: 'Culture & Heritage', displayOrder: 7, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/Cultures.png', interestCode: 'CH' },
});
const Gastronomé = await prisma.interests.upsert({
where: { interestName: 'Gastronomé' },
update: {},
create: { interestName: 'Gastronomé', displayOrder: 8, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/Gastranome.png', interestCode: 'GN' },
});
const sportsarena = await prisma.interests.upsert({
where: { interestName: 'Sports Arena' },
update: {},
create: { interestName: 'Sports Arena', displayOrder: 9, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/SportsArena.png', interestCode: 'SA' },
});
const nightlifeevents = await prisma.interests.upsert({
where: { interestName: 'Nightlife & Events' },
update: {},
create: { interestName: 'Nightlife & Events', displayOrder: 10, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/NightlifeandEvents.png', interestCode: 'NE' },
});
const furfam = await prisma.interests.upsert({
where: { interestName: 'Fur Fam' },
update: {},
create: { interestName: 'Fur Fam', displayOrder: 11, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/petspace.jpg', interestCode: 'PS' },
});
const dogoodfeelgood = await prisma.interests.upsert({
where: { interestName: 'Do Good, Feel Good' },
update: {},
create: { interestName: 'Do Good, Feel Good', displayOrder: 12, interestColor: 'Blue', interestImage: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/InterestTypes/dogoodfeelgood.png', interestCode: 'DG' },
});
// await prisma.activityTypes.createMany({
// data: [
// // --------Chill & Zen--------
// { interestXid: chillandzen.id, activityTypeName: 'Yoga', energyLevelXid: lowEnergy.id },
// { interestXid: chillandzen.id, activityTypeName: 'Meditation', energyLevelXid: lowEnergy.id },
// { interestXid: chillandzen.id, activityTypeName: 'Spa Retreat', energyLevelXid: lowEnergy.id },
// { interestXid: chillandzen.id, activityTypeName: 'Bath Experience', energyLevelXid: lowEnergy.id },
// { interestXid: chillandzen.id, activityTypeName: 'Stargazing', energyLevelXid: lowEnergy.id },
// { interestXid: chillandzen.id, activityTypeName: 'Nail Spa/Art', energyLevelXid: lowEnergy.id },
// // --------Artsy Feels--------
// { interestXid: artsyfeels.id, activityTypeName: 'Canvas Painting', energyLevelXid: lowEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Textile Painting', energyLevelXid: lowEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Music and Instruments', energyLevelXid: mediumEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Pottery', energyLevelXid: mediumEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Knitting / Crocheting', energyLevelXid: lowEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Lipstick Customisation', energyLevelXid: lowEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Tufting', energyLevelXid: mediumEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Acting', energyLevelXid: mediumEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Art', energyLevelXid: lowEnergy.id },
// { interestXid: artsyfeels.id, activityTypeName: 'Tattoos', energyLevelXid: lowEnergy.id },
// // --------Sweat Mode--------
// { interestXid: sweatmode.id, activityTypeName: 'Dance', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Kickboxing', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Gym with Personal Trainer', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Aerobic', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Skating', energyLevelXid: mediumEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Martial Arts', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Trampoline Park', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Wall Climbing', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Rope Course', energyLevelXid: highEnergy.id },
// { interestXid: sweatmode.id, activityTypeName: 'Running', energyLevelXid: highEnergy.id },
// //---------Game Craft---------
// { interestXid: gamecraft.id, activityTypeName: 'Billiard / Snooker', energyLevelXid: lowEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Squash', energyLevelXid: highEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Rage Room', energyLevelXid: highEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'E-Sports', energyLevelXid: lowEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Table Tennis', energyLevelXid: mediumEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'VR Games', energyLevelXid: mediumEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Escape Room', energyLevelXid: mediumEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Paintball', energyLevelXid: highEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Bowling', energyLevelXid: mediumEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Shooting Range', energyLevelXid: lowEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Bumper Cars', energyLevelXid: lowEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Ice Skating', energyLevelXid: mediumEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Snow City', energyLevelXid: lowEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Pole Artistry', energyLevelXid: highEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Hula Hoop', energyLevelXid: mediumEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Foosball', energyLevelXid: lowEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Go Karting', energyLevelXid: mediumEnergy.id },
// { interestXid: gamecraft.id, activityTypeName: 'Laser Maze', energyLevelXid: mediumEnergy.id },
// //---------Wild & Free---------
// { interestXid: wildandfree.id, activityTypeName: 'Horse Riding', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Camping', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Rock Climbing', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Rappelling', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Night Forest Trail', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Trekking', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Road Cycling', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Mountain Cycling', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Sky Cycling', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Motorcycling', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Skiing', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Snowboarding', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Sandboarding', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Paragliding', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Paramotoring', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Microlight Flying', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Airplane Joyride', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Flying Fox', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Zip Lining', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Bungee Jumping', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Rocket Ejector', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Giant Swing', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Skydiving', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Wildlife Safari', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Desert Safari', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Ghost Tour', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Dog Sledding', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Hot-Air Balloon Ride', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Wilderness Survival and Primitive Life Skills', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Off-Road Driving Trails (4W)', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Stay in Forest House', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Zero Gravity', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Indoor Skydiving', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Zorbing', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'ATV Ride', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Dirt Biking', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Canyoning', energyLevelXid: highEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Ropeway Ride', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Camel Safari', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Helicopter Ride', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Birdwatching', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Farm Visit', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Road Trip', energyLevelXid: mediumEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Nature Park', energyLevelXid: lowEnergy.id },
// { interestXid: wildandfree.id, activityTypeName: 'Segways', energyLevelXid: lowEnergy.id },
// //---------Splash Life---------
// { interestXid: splashlife.id, activityTypeName: 'Rafting', energyLevelXid: highEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Sailing', energyLevelXid: mediumEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Crab Catching', energyLevelXid: mediumEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Surfing', energyLevelXid: highEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Scuba Diving', energyLevelXid: highEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Snorkeling', energyLevelXid: mediumEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Deep Sea Fishing', energyLevelXid: mediumEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Angling', energyLevelXid: lowEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Parasailing', energyLevelXid: mediumEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Flyboarding', energyLevelXid: highEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Kayaking', energyLevelXid: highEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Jet Ski Ride', energyLevelXid: highEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Cliff Jumping', energyLevelXid: highEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Cruise', energyLevelXid: lowEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Yacht', energyLevelXid: lowEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Boat Ride', energyLevelXid: lowEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Dolphin Watching', energyLevelXid: lowEnergy.id },
// { interestXid: splashlife.id, activityTypeName: 'Whale Watching', energyLevelXid: lowEnergy.id },
// //---------Culture & Heritage---------
// { interestXid: cultureandheritage.id, activityTypeName: 'Visit to Ancient Mysteries', energyLevelXid: mediumEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'History and Archeology', energyLevelXid: mediumEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'Traditional Village Tour', energyLevelXid: mediumEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'City Tour', energyLevelXid: mediumEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'Luxury Train', energyLevelXid: lowEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'Joy Train Ride', energyLevelXid: lowEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'Festivals Events', energyLevelXid: mediumEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'Local Folk Dance', energyLevelXid: mediumEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'Spiritual Activities', energyLevelXid: lowEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'Ancient Temples', energyLevelXid: mediumEnergy.id },
// { interestXid: cultureandheritage.id, activityTypeName: 'The Unexplained', energyLevelXid: mediumEnergy.id },
// //---------Gastronomé---------
// { interestXid: Gastronomé.id, activityTypeName: 'Culinary Experience', energyLevelXid: mediumEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Outstanding Hawkers Food', energyLevelXid: mediumEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Traditional Food', energyLevelXid: mediumEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Exotic Food', energyLevelXid: mediumEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Farm to Table Experience', energyLevelXid: mediumEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Wine Testing', energyLevelXid: lowEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Beer Testing', energyLevelXid: lowEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Vodka Testing', energyLevelXid: lowEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Traditional Liquor Testing', energyLevelXid: lowEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Brewery Tour', energyLevelXid: mediumEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Cheese Testing', energyLevelXid: lowEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Coffee Brewing and Tasting', energyLevelXid: lowEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Chocolate Making and Tasting', energyLevelXid: lowEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Mocktail Making Workshop', energyLevelXid: mediumEnergy.id },
// { interestXid: Gastronomé.id, activityTypeName: 'Home Dine-In', energyLevelXid: lowEnergy.id },
// //---------Sports Arena---------
// { interestXid: sportsarena.id, activityTypeName: 'Swimming Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Open Tennis Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Badminton Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Football Soccer Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Soapy Football Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Tennis Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Golf Play', energyLevelXid: mediumEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Volleyball Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Cricket Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Basketball Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Table Tennis Play', energyLevelXid: mediumEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Squash Play', energyLevelXid: highEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Pickleball Play', energyLevelXid: mediumEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Swimming Live Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Cricket Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Football Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Badminton Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Tennis Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Volleyball Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Basketball Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Rugby Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Olympic Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Horse Racing Screening', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Cricket Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Football Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Badminton Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Tennis Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Volleyball Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Basketball Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Rugby Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Olympic Match', energyLevelXid: lowEnergy.id },
// { interestXid: sportsarena.id, activityTypeName: 'Live Horse Racing', energyLevelXid: lowEnergy.id },
// //---------Nightlife & Events---------
// { interestXid: nightlifeevents.id, activityTypeName: 'Movie Watching Theatre', energyLevelXid: lowEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Movie Watching Outdoor', energyLevelXid: lowEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Magic Show Watching', energyLevelXid: lowEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Casino', energyLevelXid: mediumEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Karaoke', energyLevelXid: mediumEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Beach Bonfire', energyLevelXid: lowEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Concert', energyLevelXid: mediumEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Flea Market', energyLevelXid: mediumEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Beach Club Events', energyLevelXid: highEnergy.id },
// { interestXid: nightlifeevents.id, activityTypeName: 'Clubbing', energyLevelXid: highEnergy.id },
// //---------Fur Fam---------
// { interestXid: furfam.id, activityTypeName: 'Dog Training', energyLevelXid: mediumEnergy.id },
// { interestXid: furfam.id, activityTypeName: 'Dog Events and Show', energyLevelXid: lowEnergy.id },
// { interestXid: furfam.id, activityTypeName: 'Dog Grooming', energyLevelXid: lowEnergy.id },
// { interestXid: furfam.id, activityTypeName: 'Bird Show', energyLevelXid: lowEnergy.id },
// { interestXid: furfam.id, activityTypeName: 'Cat Cafe', energyLevelXid: lowEnergy.id },
// //---------Do Good, Feel Good---------
// { interestXid: dogoodfeelgood.id, activityTypeName: 'Old Age Home Visits', energyLevelXid: lowEnergy.id },
// { interestXid: dogoodfeelgood.id, activityTypeName: 'Orphanage Visits', energyLevelXid: lowEnergy.id },
// { interestXid: dogoodfeelgood.id, activityTypeName: 'Tree Planting', energyLevelXid: mediumEnergy.id },
// { interestXid: dogoodfeelgood.id, activityTypeName: 'Animal Volunteering', energyLevelXid: mediumEnergy.id },
// { interestXid: dogoodfeelgood.id, activityTypeName: 'Beach Clean Ups', energyLevelXid: highEnergy.id },
// { interestXid: dogoodfeelgood.id, activityTypeName: 'Educating Children', energyLevelXid: mediumEnergy.id },
// ],
// skipDuplicates: true,
// });
// ✅ Document Types
await prisma.documentType.createMany({
data: [
{ documentTypeName: 'GST Certificate', displayOrder: 1 },
{ documentTypeName: 'PAN / BIN Card', displayOrder: 2 },
{ documentTypeName: 'Registration Certification', displayOrder: 3 },
{ documentTypeName: 'Aadhaar Card', displayOrder: 4 },
{ documentTypeName: 'Fire Insurance', displayOrder: 5 },
{ documentTypeName: 'ATOAI Certification', displayOrder: 6 },
{ documentTypeName: 'FASSI Certification', displayOrder: 7 },
{ documentTypeName: 'Safety Certification', displayOrder: 8 },
{ documentTypeName: 'Others', displayOrder: 9 },
],
skipDuplicates: true,
});
// ✅ Amenities
// await prisma.amenities.createMany({
// data: [
// { amenitiesName: 'Air-Conditioned', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/AirConditioned.png' },
// { amenitiesName: 'Baking sheet', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BakingSheet.png' },
// { amenitiesName: 'Barbecue utensils', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BarbecueUtensils.png' },
// { amenitiesName: 'Bath/Shower', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BathShower.png' },
// { amenitiesName: 'Batting cage', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BattingCage.png' },
// { amenitiesName: 'Beach access', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BeachAccess.png' },
// { amenitiesName: 'Beach essentials', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BeachEsstentials.png' },
// { amenitiesName: 'Bed linen', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BedLinen.png' },
// { amenitiesName: 'Bidet', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Bidet.png' },
// { amenitiesName: 'Bikes', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Bikes.png' },
// { amenitiesName: 'Blender', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Blender.png' },
// { amenitiesName: 'Board games', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BoardGames.png' },
// { amenitiesName: 'Boat berth', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BoatBerth.png' },
// { amenitiesName: 'Books and reading material', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/BooksAndReadingMaterial.png' },
// { amenitiesName: 'Ceiling fan', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/CealingFan.png' },
// { amenitiesName: 'Cleaning available during stay', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/CleaningAvailable.png' },
// { amenitiesName: 'Coffee maker', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/CoffeeMaker.png' },
// { amenitiesName: 'Conditioner', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Conditioner.png' },
// { amenitiesName: 'Hot water', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/HotWater.png' },
// { amenitiesName: 'Indoor fireplace', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/IndoorFirePlace.png' },
// { amenitiesName: 'Iron', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Iron.png' },
// { amenitiesName: 'Kettle', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Kettle.png' },
// { amenitiesName: 'Kitchen', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Kitchen.png' },
// { amenitiesName: 'Lake access', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/LakeAccess.png' },
// { amenitiesName: 'Lift', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Lift.png' },
// { amenitiesName: 'Microwave', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/MicroWave.png' },
// { amenitiesName: 'Mini fridge', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/MiniFridge.png' },
// { amenitiesName: 'Fridge', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Fridge.png' },
// { amenitiesName: 'Games console', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/GamesConsole.png' },
// { amenitiesName: 'Garden', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Garden.png' },
// { amenitiesName: 'Gym', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Gym.png' },
// { amenitiesName: 'Hair dryer', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/HairDryer.png' },
// { amenitiesName: 'Hammock', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Hammock.png' },
// { amenitiesName: 'Hangers', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Hangers.png' },
// { amenitiesName: 'Heating', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Heating.png' },
// { amenitiesName: 'High chair', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/HighChair.png' },
// { amenitiesName: 'Ethernet connection', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/EthernetConnection.png' },
// { amenitiesName: 'EV charger', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/EVCharger.png' },
// { amenitiesName: 'Exercise equipment', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/ExerciseEquipment.png' },
// { amenitiesName: 'Extra pillows and blankets', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/ExtraPillowAndBlanket.png' },
// { amenitiesName: 'Fire extinguisher', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/FireExtinguisher.png' },
// { amenitiesName: 'Firepit', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/FirePit.png' },
// { amenitiesName: 'Fireplace guards', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/FireplaceGuards.png' },
// { amenitiesName: 'First aid kit', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/FirstAidKit.png' },
// { amenitiesName: 'Free on street parking', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/FreeStreetParking.png' },
// { amenitiesName: 'Free parking on premises', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/FreeParkingOnPremises.png' },
// { amenitiesName: 'Dedicated workspace', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/DedicatedWorkspace.png' },
// { amenitiesName: 'Dinning table', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/DiningTable.png' },
// { amenitiesName: 'Dishes and cutlery', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/DishesAndCutlery.png' },
// { amenitiesName: 'Dryer', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Dryer.png' },
// { amenitiesName: 'Essentials', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Essentials.png' },
// { amenitiesName: 'Safe', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Safe.png' },
// { amenitiesName: 'Shampoo', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Shampoo.png' },
// { amenitiesName: 'Shower gel', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/ShowerGel.png' },
// { amenitiesName: 'Mini golf', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/MiniGolf.png' },
// { amenitiesName: 'Mosquito net', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/MosquitoNet.png' },
// { amenitiesName: 'Mobile network', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/MobileNet.png' },
// { amenitiesName: 'Outdoor dining area', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/OutdoorDiningArea.png' },
// { amenitiesName: 'Outdoor kitchen', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/OutdoorKitchen.png' },
// { amenitiesName: 'Oven', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Oven.png' },
// { amenitiesName: 'Paid parking off premises', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/PaidParkingOffPremises.png' },
// { amenitiesName: 'Paid parking on premises', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/PaidParkingOnPremises.png' },
// { amenitiesName: 'Patio or balcony', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/PatioOrBalcony.png' },
// { amenitiesName: 'Piano', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Piano.png' },
// { amenitiesName: 'Mobile charging point', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/MobileChargingPoint.png' },
// { amenitiesName: 'Pocket wifi', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/PocketWifi.png' },
// { amenitiesName: 'Pool', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Pool.png' },
// { amenitiesName: 'Portable fans', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/PortableFans.png' },
// { amenitiesName: 'Private entrance', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/PrivateEntrance.png' },
// { amenitiesName: 'Skate ramp', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/SkateRamp.png' },
// { amenitiesName: 'Ski-in/out', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Ski-InOut.png' },
// { amenitiesName: 'Smoke alarm', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/SmokeAlarm.png' },
// { amenitiesName: 'Sound system', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/SoundSystem.png' },
// { amenitiesName: 'Sun loungers', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/SunLoungers.png' },
// { amenitiesName: 'Toaster', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Toaster.png' },
// { amenitiesName: 'Travel cot', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/TravelCot.png' },
// { amenitiesName: 'TV', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/TV.png' },
// { amenitiesName: 'Washing machine', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/WashingMachine.png' },
// { amenitiesName: 'Waterfront', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Waterfront.png' },
// { amenitiesName: 'Wifi', amenitiesIcon: 'https://minglar-dev-bucket.s3.ap-south-1.amazonaws.com/StaticImages/Amenities/Wifi.png' }
// ],
// skipDuplicates: true, // prevents error if already seeded
// });
// ✅ Activity Sort Filter
await prisma.activitySortFilter.createMany({
data: [
{ sortFilterName: 'Rating', displayOrder: 1 },
{ sortFilterName: 'Price', displayOrder: 2 },
{ sortFilterName: 'Sustainability', displayOrder: 3 },
{ sortFilterName: 'NearbyRadius', displayOrder: 4 },
{ sortFilterName: 'Quality', displayOrder: 5 },
],
skipDuplicates: true
});
// ✅ Company types data
await prisma.companyTypes.upsert({
where: { companyTypeName: 'Proprietory' },
update: {},
create: { companyTypeName: 'Proprietory', displayOrder: 1 },
});
await prisma.companyTypes.upsert({
where: { companyTypeName: 'One Person Company' },
update: {},
create: { companyTypeName: 'One Person Company', displayOrder: 2 },
});
await prisma.companyTypes.upsert({
where: { companyTypeName: 'Limited Liability Partnership' },
update: {},
create: { companyTypeName: 'Limited Liability Partnership', displayOrder: 3 },
});
await prisma.companyTypes.upsert({
where: { companyTypeName: 'Partnership Firm' },
update: {},
create: { companyTypeName: 'Partnership Firm', displayOrder: 4 },
});
await prisma.companyTypes.upsert({
where: { companyTypeName: 'Private Limited' },
update: {},
create: { companyTypeName: 'Private Limited', displayOrder: 5 },
});
await prisma.companyTypes.upsert({
where: { companyTypeName: 'Non-Profit Organisation' },
update: {},
create: { companyTypeName: 'Non-Profit Organisation', displayOrder: 6 },
});
await prisma.companyTypes.upsert({
where: { companyTypeName: 'Public Limited' },
update: {},
create: { companyTypeName: 'Public Limited', displayOrder: 7 },
});
// ✅ Food Types
await prisma.foodTypes.createMany({
data: [
{ foodTypeName: 'Veg' },
{ foodTypeName: 'Non-Veg' },
{ foodTypeName: 'Vegan' },
{ foodTypeName: 'Jain' },
],
skipDuplicates: true,
});
// ✅ AGE RESTRICTIONS
await prisma.ageRestrictions.createMany({
data: [
{ ageRestrictionName: 'Below 18', minAge: 1, maxAge: 17 },
{ ageRestrictionName: 'Above 18', minAge: 18, maxAge: 200 },
],
skipDuplicates: true,
});
// ✅ ALLOWED ENTRY TYPES
await prisma.allowedEntryTypes.createMany({
data: [
{ allowedEntryTypeName: 'Solo' },
{ allowedEntryTypeName: 'Pair' },
{ allowedEntryTypeName: 'Group' },
],
skipDuplicates: true,
});
// ✅ ROLES
await prisma.roles.createMany({
data: [
{ roleName: 'Admin' },
{ roleName: 'Co_Admin' },
{ roleName: 'Account_Manager' },
{ roleName: 'Host' },
{ roleName: 'Operator' },
{ roleName: 'User' },
],
skipDuplicates: true,
});
// ✅ Frequencies
await prisma.frequencies.createMany({
data: [
{ frequencyName: 'Single Event' },
{ frequencyName: 'Multiple Events Per Day' },
{ frequencyName: 'Training' },
],
skipDuplicates: true,
});
// ✅ Navigation Modes
await prisma.navigationModes.createMany({
data: [
{ navigationModeName: 'Elephant Ride', navigationModeIcon: '🚗' },
{ navigationModeName: 'Horse Ride', navigationModeIcon: '🏍️' },
{ navigationModeName: 'Camel Ride', navigationModeIcon: '🚶' },
],
skipDuplicates: true,
});
// ✅ Transport Modes
await prisma.transportModes.createMany({
data: [
{ transportModeName: 'Open Jeep / Car / SUV - 4 seater', transportModeIcon: '🚌' },
{ transportModeName: 'Open Jeep / Car / SUV - 6 seater', transportModeIcon: '🚌' },
{ transportModeName: '4W Jeep / SUV - 4 seater', transportModeIcon: '🚆' },
{ transportModeName: '4W Jeep / SUV - 6 seater', transportModeIcon: '🚆' },
],
skipDuplicates: true,
});
console.log('🚀 Starting city seeding...')
// await seedCities(prisma)
console.log('✅ City seeding finished')
// ✅ PQQ Categories + Questions + Answers
// const categoriesData = [
// {
// categoryName: "Sustainability",
// displayOrder: 1,
// isActive: true,
// subCategories: [
// // -----------------------------------------------------
// // SUBCATEGORY 1: Environmental Practices
// // -----------------------------------------------------
// {
// subCategoryName: "Environmental Practices",
// displayOrder: 1,
// isActive: true,
// questions: [
// // QUESTION 1
// {
// questionName: 'What waste management practices do you have in place to minimize environmental impact? Examples: Recycling bins, composting organic waste, reducing single-use plastics.',
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: 'We do not have specific waste management practices.', points: 0 },
// { name: 'We separate waste and recycle basic items like paper and plastic.', points: 5 },
// { name: 'We have a comprehensive recycling program including composting organic waste.', points: 8 },
// { name: 'We actively reduce waste at the source and partner with local recycling organizations.', points: 10 },
// ],
// },
// // QUESTION 2
// {
// questionName: 'Can you provide examples of energy-efficient appliances or renewable energy sources you use? Examples: Solar panels, energy-efficient lighting, renewable energy certificates.',
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: 'We do not use energy-efficient appliances or renewable energy sources.', points: 0 },
// { name: 'We use energy-efficient light bulbs and appliances.', points: 5 },
// { name: 'We have solar panels and energy-efficient heating/cooling systems.', points: 8 },
// { name: 'We utilize a combination of renewable energy sources and advanced energy-saving technologies.', points: 10 },
// ],
// },
// {
// questionName: 'What measures do you take to conserve water? Examples: Low-flow fixtures, rainwater harvesting, greywater recycling.',
// maxPoints: 10,
// displayOrder: 3,
// answers: [
// { name: 'We do not have specific water conservation measures.', points: 0 },
// { name: 'We encourage guests to limit water use.', points: 5 },
// { name: 'We have low-flow fixtures and water-saving appliances installed.', points: 8 },
// { name: 'We implement rainwater harvesting and greywater recycling systems.', points: 10 },
// ],
// },
// {
// questionName: 'How do you monitor and reduce your carbon footprint? Examples: Carbon audits, offsetting emissions, energy-saving initiatives.',
// maxPoints: 10,
// displayOrder: 4,
// answers: [
// { name: 'We do not monitor or take steps to reduce our carbon footprint.', points: 0 },
// { name: 'We track our energy usage and try to minimize it.', points: 5 },
// { name: 'We have set carbon reduction targets and regularly monitor our progress.', points: 8 },
// { name: 'We offset our carbon emissions through verified programs and continually improve our sustainability practices.', points: 10 },
// ],
// },
// {
// questionName: 'Do you source products and materials sustainably? Can you provide examples? Examples: Local, organic, fair-trade products.',
// maxPoints: 10,
// displayOrder: 5,
// answers: [
// { name: 'We do not prioritize sustainable sourcing.', points: 0 },
// { name: 'We source some products locally and sustainably.', points: 5 },
// { name: 'We prioritize local, organic, and fair-trade products.', points: 8 },
// { name: 'We have strict sourcing policies that ensure all products are sustainable and ethically produced.', points: 10 },
// ],
// },
// ]
// },
// // -----------------------------------------------------
// // SUBCATEGORY 2: Community Impact
// // -----------------------------------------------------
// {
// subCategoryName: "Community Impact",
// displayOrder: 2,
// isActive: true,
// questions: [
// // QUESTION 1
// {
// questionName:
// "How do you support local employment and engage with the community? Examples: Hiring local staff, partnering with community organizations, participating in local events.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific practices to support local employment or community engagement.", points: 0 },
// { name: "We hire local staff but do not have formal community engagement programs.", points: 5 },
// { name: "We actively employ local residents and participate in community events.", points: 8 },
// { name: "We have partnerships with local organizations and invest in community development projects.", points: 10 }
// ]
// },
// // QUESTION 2
// {
// questionName:
// "Are you involved in any community projects or cultural preservation activities? Examples: Supporting local artisans, sponsoring cultural festivals, contributing to community development.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We are not involved in any community or cultural preservation projects.", points: 0 },
// { name: "We support community projects through donations.", points: 5 },
// { name: "We participate in and organize community events and cultural preservation activities.", points: 8 },
// { name: "We lead major community development initiatives and cultural preservation projects.", points: 10 }
// ]
// },
// // QUESTION 3
// {
// questionName:
// "Can you provide examples of how your business benefits the local community? Examples: Providing jobs, sourcing local products, investing in local infrastructure.",
// maxPoints: 10,
// displayOrder: 3,
// answers: [
// { name: "We do not have specific examples.", points: 0 },
// { name: "We provide employment opportunities for local residents.", points: 5 },
// { name: "We support local businesses by sourcing products and services locally.", points: 8 },
// { name: "We invest in local infrastructure and educational programs.", points: 10 }
// ]
// },
// ]
// },
// // -----------------------------------------------------
// //SUBCATEGORY 3 : Sustainable Tourism Certification
// // -----------------------------------------------------
// {
// subCategoryName: "Sustainable Tourism Certification",
// displayOrder: 3,
// isActive: true,
// questions: [
// // QUESTION 1
// {
// questionName:
// "Do you have any recognized sustainable tourism certifications (e.g., Green Globe, EarthCheck, Travelife)? Please provide details. Examples: Certification names and details, certificates.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have any sustainable tourism certifications.", points: 0 },
// { name: "We are in the process of obtaining a certification.", points: 5 },
// { name: "We have one recognized sustainable tourism certification.", points: 8 },
// { name: "We hold multiple recognized sustainable tourism certifications and regularly audit our practices.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// }
// ]
// },
// ]
// },
// // ----------------------------------------
// // ADD MORE CATEGORIES HERE
// // Example:
// // ----------------------------------------
// {
// categoryName: "Safety",
// displayOrder: 2,
// subCategories: [
// {
// subCategoryName: "General Safety Protocols",
// displayOrder: 1,
// questions: [
// {
// questionName: "What safety measures do you have in place for your activities? Examples: Safety briefings, emergency exits, safety equipment.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific safety measures.", points: 0 },
// { name: "We provide basic safety information and equipment.", points: 5 },
// { name: "We have comprehensive safety measures, including briefings and equipment checks.", points: 8 },
// { name: "We follow strict safety protocols and conduct regular drills and equipment inspections.", points: 10 }
// ]
// },
// {
// questionName: "Can you describe your emergency response plan? Examples: Evacuation procedures, emergency contact numbers, first aid kits.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have an emergency response plan.", points: 0 },
// { name: "We have a basic plan but do not conduct regular drills.", points: 5 },
// { name: "We have a detailed plan and conduct regular emergency drills.", points: 8 },
// { name: "We have a comprehensive emergency response plan, regularly updated and practiced.", points: 10 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Staff Training",
// displayOrder: 2,
// questions: [
// {
// questionName: "How often do you conduct safety training and drills? Examples: Annual training sessions, quarterly drills, surprise inspections.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not conduct regular safety training or drills.", points: 0 },
// { name: "We conduct safety training and drills occasionally.", points: 5 },
// { name: "We conduct safety training and drills annually.", points: 8 },
// { name: "We conduct safety training and drills multiple times a year.", points: 10 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Emergency Evacuation Procedures",
// displayOrder: 3,
// questions: [
// {
// questionName: "Do you have clear, well-communicated emergency evacuation procedures in place for guests, including those with injuries or mobility issues? Examples: Evacuation maps in guest rooms, staff trained to assist injured guests during emergencies.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "No emergency evacuation procedures are in place.", points: 0 },
// { name: "Basic evacuation procedures are in place, but they may not fully address guests with injuries or mobility issues.", points: 5 },
// { name: "Evacuation procedures are in place and communicated to guests, with some provisions for those with injuries or mobility issues.", points: 8 },
// { name: "Well-defined and regularly practiced evacuation procedures are in place, with specific provisions for assisting guests with injuries or mobility issues.", points: 10 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Safety in Areas with Criminal Activity",
// displayOrder: 4,
// questions: [
// {
// questionName: "How do you ensure the safety of travelers in areas with a risk of robberies or other personal safety concerns? Examples: Security measures, partnerships with local law enforcement, guest advisories.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific measures for traveler safety in such areas.", points: 0 },
// { name: "We provide basic safety advice to travelers about risky areas.", points: 5 },
// { name: "We have partnerships with local law enforcement and provide detailed safety advisories to travelers.", points: 8 },
// { name: "We implement comprehensive safety measures, including security personnel, secure transportation options, and close collaboration with local authorities.", points: 10 }
// ]
// },
// {
// questionName: "What measures are in place to prevent incidents related to criminal activity during your activities? Examples: Curfew policies, guided tours only in safe areas, emergency contact numbers.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have specific measures to prevent such incidents.", points: 0 },
// { name: "We avoid operating in high-risk areas but do not have formal measures.", points: 5 },
// { name: "We restrict our activities to safe areas and have protocols for handling emergencies.", points: 8 },
// { name: "We conduct thorough risk assessments, restrict activities to safe times and areas, and provide secure transportation and 24/7 emergency support.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// ]
// },
// {
// subCategoryName: "Safety of Transportation",
// displayOrder: 5,
// questions: [
// {
// questionName: "How do you ensure the safety of travelers during transportation from the nearest airport, train or bus station to your destination? Examples: Verified transportation providers, secure pickup points, real-time monitoring.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific measures for transportation safety.", points: 0 },
// { name: "We provide basic advice on safe transportation options.", points: 5 },
// { name: "We use verified transportation providers and secure pickup points.", points: 8 },
// { name: "We offer comprehensive transportation safety measures, including verified providers, secure pickup points, and real-time monitoring.", points: 10 }
// ]
// },
// {
// questionName: "What measures are in place to ensure the safety of travelers in cabs or rickshaws arranged by your service? Examples: Driver background checks, vehicle safety checks, GPS tracking.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have specific measures for cab or rickshaw safety.", points: 0 },
// { name: "We recommend trusted local transportation services.", points: 5 },
// { name: "We conduct driver background checks and ensure vehicle safety.", points: 8 },
// { name: "We implement extensive measures, including driver background checks, vehicle safety checks, and GPS tracking.", points: 10 },
// { name: "Not applicable as we do not arrange cabs or rickshaws for the travellers.", points: 0 }
// ]
// },
// {
// questionName: "Do you provide any emergency contact or support during transportation for travelers? Examples: 24/7 helpline, emergency response team, real-time communication.",
// maxPoints: 10,
// displayOrder: 3,
// answers: [
// { name: "We do not provide specific emergency contact or support during transportation.", points: 0 },
// { name: "We provide a contact number for emergency use.", points: 5 },
// { name: "We conduct driver background checks and ensure vehicle safety.", points: 8 },
// { name: "We implement extensive measures, including driver background checks, vehicle safety checks, and GPS tracking.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// ]
// },
// {
// subCategoryName: "Safety in Areas with Wild Animals",
// displayOrder: 6,
// questions: [
// {
// questionName: "How do you ensure the safety of travelers in areas where wild animals are known to roam? Examples: Wildlife awareness programs, guided tours, safety briefings.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific measures for wildlife safety.", points: 0 },
// { name: "We provide basic advice to travelers about wildlife safety.", points: 5 },
// { name: "We conduct guided tours with trained personnel and provide detailed safety briefings.", points: 8 },
// { name: "We implement comprehensive wildlife safety measures, including trained guides, safety equipment, and collaboration with wildlife experts.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// {
// questionName: "What precautions do you take to minimize the risk of wildlife encounters during activities? Examples: Activity scheduling, designated safe areas, wildlife monitoring.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not take specific precautions for wildlife encounters.", points: 0 },
// { name: "We provide information on wildlife safety but do not take specific precautions.", points: 5 },
// { name: "We schedule activities to avoid high-risk times and monitor wildlife activity.", points: 8 },
// { name: "We have strict protocols, including avoiding high-risk areas and times, using designated safe zones, and employing wildlife monitoring systems.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// {
// questionName: "Do you provide training for your staff to handle wildlife encounters safely? Examples: Wildlife behavior training, emergency procedures, use of safety equipment.",
// maxPoints: 10,
// displayOrder: 3,
// answers: [
// { name: "Our staff do not receive specific training for wildlife encounters.", points: 0 },
// { name: "Some staff have basic training on wildlife safety.", points: 5 },
// { name: "Most staff are trained to handle wildlife encounters and know emergency procedures.", points: 8 },
// { name: "All staff receive comprehensive training, including wildlife behavior, emergency response, and the use of safety equipment.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// ]
// },
// ]
// },
// //----------------------------
// // Gen Z-Specific Parameters
// //----------------------------
// {
// categoryName: "Gen Z-Specific Parameters",
// displayOrder: 3,
// subCategories: [
// {
// subCategoryName: "Digital Engagement",
// displayOrder: 1,
// questions: [
// {
// questionName: "How do you engage with customers on social media? Examples: Regular posts, responding to comments, social media campaigns.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not actively engage with customers on social media.", points: 0 },
// { name: "We post updates occasionally but do not interact much with customers.", points: 5 },
// { name: "We regularly post updates and respond to customer inquiries.", points: 8 },
// { name: "We have a proactive social media strategy with regular updates, customer interaction, and engagement campaigns.", points: 10 }
// ]
// },
// {
// questionName: "Can you provide examples of user-generated content or collaborations with digital influencers? Examples: Hashtag campaigns, influencer takeovers, user reviews.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have user-generated content or influencer collaborations.", points: 0 },
// { name: "We occasionally feature user-generated content.", points: 5 },
// { name: "We actively encourage user-generated content and collaborate with influencers.", points: 8 },
// { name: "We have established partnerships with influencers and regularly feature user-generated content.", points: 10 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Social Responsibility",
// displayOrder: 2,
// questions: [
// {
// questionName: "What ethical business practices do you follow? Examples: Fair trade, ethical sourcing, transparency in pricing.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific ethical business practices.", points: 0 },
// { name: "We follow basic ethical guidelines.", points: 5 },
// { name: "We have a formal code of ethics and conduct regular training.", points: 8 },
// { name: "We are recognized for our ethical practices and have won awards or certifications.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// {
// questionName: "Are you involved in any social causes? Can you provide examples? Examples: Charity partnerships, community service, environmental initiatives.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We are not involved in any social causes.", points: 0 },
// { name: "We occasionally support social causes through donations.", points: 5 },
// { name: "We actively participate in and support various social causes.", points: 8 },
// { name: "We lead initiatives and projects that contribute to significant social change.", points: 10 }]
// },
// {
// questionName: "How do you ensure transparency in your operations? Examples: Regular reports, open communication channels, financial disclosures.",
// maxPoints: 10,
// displayOrder: 3,
// answers: [
// { name: "We do not have specific transparency practices.", points: 0 },
// { name: "We provide basic transparency through occasional reports.", points: 5 },
// { name: "We regularly publish detailed reports on our operations and practices.", points: 8 },
// { name: "We have an open-door policy and publish comprehensive transparency reports regularly.", points: 10 }]
// },
// ]
// },
// ]
// },
// {
// categoryName: "Quality",
// displayOrder: 4,
// subCategories: [
// {
// subCategoryName: "Service Excellence",
// displayOrder: 1,
// questions: [
// {
// questionName: "How do you ensure high standards of customer service? Examples: Customer service training programs, performance reviews, guest feedback mechanisms.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific customer service standards.", points: 0 },
// { name: "We provide basic customer service training to our staff.", points: 5 },
// { name: "We have a comprehensive customer service training program and regular performance reviews.", points: 8 },
// { name: "We have a rigorous customer service program with ongoing training and feedback mechanisms.", points: 10 }
// ]
// },
// {
// questionName: "Can you provide examples of how you handle customer feedback and complaints? Examples: Feedback forms, complaint resolution processes, guest satisfaction surveys.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have a formal process for handling feedback and complaints.", points: 0 },
// { name: "We address complaints as they arise but do not track them systematically.", points: 5 },
// { name: "We have a formal process for handling and resolving complaints.", points: 8 },
// { name: "We use customer feedback to continually improve our services and have a dedicated team for managing complaints.", points: 10 }
// ]
// },
// {
// questionName: "How do you train your staff to maintain professionalism and responsiveness? Examples: Training sessions, workshops, role-playing exercises.",
// maxPoints: 10,
// displayOrder: 3,
// answers: [
// { name: "We do not provide specific training for professionalism and responsiveness.", points: 0 },
// { name: "We offer basic training during onboarding.", points: 5 },
// { name: "We provide regular training sessions and workshops on professionalism and customer interaction.", points: 8 },
// { name: "We have an extensive training program with continuous development and performance monitoring.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Unique and Authentic Experiences",
// displayOrder: 2,
// questions: [
// {
// questionName: "What unique and culturally immersive experiences do you offer? Examples: Traditional cooking classes, local craft workshops, cultural tours.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We offer standard tourist activities.", points: 0 },
// { name: "We provide some unique experiences with limited cultural relevance.", points: 5 },
// { name: "We offer a variety of culturally immersive activities.", points: 8 },
// { name: "We provide highly unique and authentic experiences deeply rooted in local culture.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// {
// questionName: "How do you ensure these experiences are authentic and reflective of local culture? Examples: Collaborating with local communities, employing local guides, using local materials.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have specific measures to ensure authenticity.", points: 0 },
// { name: "We occasionally collaborate with local experts.", points: 5 },
// { name: "We work closely with local communities to design our experiences.", points: 8 },
// { name: "We ensure all experiences are co-created with local residents and cultural experts.", points: 10 }]
// }
// ]
// },
// ]
// },
// //--------------------------
// // Accessibility for PWD
// //--------------------------
// {
// categoryName: "Accessibility for PWD",
// displayOrder: 5,
// subCategories: [
// {
// subCategoryName: "Physical Accessibility",
// displayOrder: 1,
// questions: [
// {
// questionName: "What facilities do you have in place to ensure accessibility for people with disabilities? Examples: Wheelchair ramps, elevators, accessible restrooms.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific accessibility features.", points: 0 },
// { name: "We have basic accessibility features like ramps.", points: 5 },
// { name: "We have multiple accessibility features, including ramps and accessible restrooms.", points: 8 },
// { name: "We have comprehensive accessibility facilities, including ramps, elevators, and accessible restrooms.", points: 10 }
// ]
// },
// {
// questionName: "How do you ensure all areas of your property are accessible? Examples: Accessibility audits, staff training, guest feedback.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have specific measures to ensure accessibility.", points: 0 },
// { name: "We provide basic accessibility in some areas.", points: 5 },
// { name: "We have an accessibility plan and ensure most areas are accessible.", points: 8 },
// { name: "We regularly audit and update our facilities to ensure complete accessibility.", points: 10 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Support Services",
// displayOrder: 2,
// questions: [
// {
// questionName: "Do you have staff trained to assist people with disabilities? What kind of training do they receive? Examples: Training in disability awareness, assistance techniques, sign language.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have trained staff.", points: 0 },
// { name: "Some staff have basic training in assisting people with disabilities.", points: 5 },
// { name: "We provide regular training for staff on assisting people with disabilities.", points: 8 },
// { name: "All staff receive comprehensive and ongoing training to assist people with disabilities.", points: 10 },
// ]
// },
// {
// questionName: "Do you provide information in accessible formats? Can you provide examples? Examples: Braille menus, large print guides, audio descriptions.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not provide information in accessible formats.", points: 0 },
// { name: "We provide some information in accessible formats upon request.", points: 5 },
// { name: "We have a range of information available in accessible formats.", points: 8 },
// { name: "We ensure all critical information is available in multiple accessible formats.", points: 10 }]
// }
// ]
// },
// {
// subCategoryName: "Staff Training",
// displayOrder: 2,
// questions: [
// {
// questionName: "How often do you conduct safety training and drills? Examples: Annual training sessions, quarterly drills, surprise inspections.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not conduct regular safety training or drills.", points: 0 },
// { name: "We conduct safety training and drills occasionally.", points: 5 },
// { name: "We conduct safety training and drills annually.", points: 8 },
// { name: "We conduct safety training and drills multiple times a year.", points: 10 },
// { name: "Not applicable.", points: 0 },
// ]
// }
// ]
// },
// ]
// },
// //--------------------
// // Cultural Sensitivity and Inclus
// //--------------------
// {
// categoryName: "Cultural Sensitivity and Inclus",
// displayOrder: 6,
// subCategories: [
// {
// subCategoryName: "Cultural Sensitivity",
// displayOrder: 1,
// questions: [
// {
// questionName: "How do you ensure your experiences are culturally sensitive and respectful? Examples: Consulting with local communities, training staff on cultural etiquette.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific measures for cultural sensitivity.", points: 0 },
// { name: "We occasionally review our activities for cultural sensitivity.", points: 5 },
// { name: "We consult with local communities to ensure our activities are culturally respectful.", points: 8 },
// { name: "We have a dedicated cultural sensitivity program and collaborate closely with cultural experts and local communities.", points: 10 }
// ]
// },
// {
// questionName: "What measures do you take to ensure your experiences are inclusive for all guests, regardless of background? Examples: Diverse representation in marketing, inclusive language, accommodating dietary restrictions.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have specific measures for inclusivity.", points: 0 },
// { name: "We strive to be inclusive but do not have formal measures.", points: 5 },
// { name: "We have policies to ensure inclusivity and regularly review them.", points: 8 },
// { name: "We actively promote inclusivity through dedicated programs and partnerships with relevant organizations.", points: 10 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Acceptance of Diversity",
// displayOrder: 2,
// questions: [
// {
// questionName: "Do you accept, accommodate and welcome travelers from different races, religions, and nationalities without restrictions?",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "No, travelers from diverse backgrounds are not accepted or welcomed.", points: 0 },
// { name: "Some travelers from diverse backgrounds are accepted, but there are limited accommodations or considerations.", points: 5 },
// { name: "Travelers from diverse backgrounds are welcomed and accommodated with some specific considerations in place.", points: 8 },
// { name: "Travelers from all diverse racial, religious, and national backgrounds are actively welcomed and fully accommodated without any restrictions.", points: 10 },
// ]
// },
// ]
// },
// ]
// },
// //------------------------
// // Health and Hygiene Standards
// //------------------------
// {
// categoryName: "Health and Hygiene Standards",
// displayOrder: 7,
// subCategories: [
// {
// subCategoryName: "Hygiene Practices",
// displayOrder: 1,
// questions: [
// {
// questionName: "What hygiene practices do you follow to ensure the safety of your guests? Examples: Regular cleaning schedules, sanitation stations, health checks.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific hygiene practices.", points: 0 },
// { name: "We follow basic hygiene practices such as regular cleaning.", points: 5 },
// { name: "We have comprehensive hygiene protocols and conduct regular audits.", points: 8 },
// { name: "We follow strict hygiene standards and have obtained relevant certifications such as ISO 22000 or similar.", points: 10 }
// ]
// },
// {
// questionName: "How do you handle health emergencies and ensure the well-being of your guests? Examples: On-site medical kits, partnerships with local healthcare providers, emergency response training.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have specific health emergency procedures.", points: 0 },
// { name: "We have basic first aid kits and contact information for local healthcare providers.", points: 5 },
// { name: "We have trained staff and partnerships with healthcare providers for emergencies.", points: 8 },
// { name: "We have comprehensive health emergency plans, including on-site medical staff and regular training.", points: 10 }
// ]
// }
// ]
// },
// {
// subCategoryName: "Availability of First Aid Kits",
// displayOrder: 2,
// questions: [
// {
// questionName: "Do you provide readily accessible and fully stocked first aid kits at your establishment? Examples: First aid kits placed in reception areas, near activity zones, or in guest rooms.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "No first aid kits are available on-site.", points: 0 },
// { name: "First aid kits are available but may not be fully stocked or easily accessible.", points: 5 },
// { name: "Fully stocked first aid kits are available in key locations but are not regularly checked.", points: 8 },
// { name: "Fully stocked and regularly inspected first aid kits are readily available in all necessary areas.", points: 10 },
// ]
// },
// ]
// },
// {
// subCategoryName: "Emergency Response Equipment",
// displayOrder: 3,
// questions: [
// {
// questionName: "Do you have emergency response equipment such as a trolley, stretcher, or cart to carry an injured person in case of an emergency? Examples: A stretcher stored near the pool area or a cart available in event spaces.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "No emergency response equipment is available.", points: 0 },
// { name: "Basic emergency response equipment is available but may not include a trolley, stretcher, or cart.", points: 5 },
// { name: "Emergency response equipment, including a trolley, stretcher, or cart, is available but not always maintained or easily accessible.", points: 8 },
// { name: "Comprehensive emergency response equipment, including a well-maintained trolley, stretcher, or cart, is available and easily accessible.", points: 10 },
// ]
// },
// ]
// },
// {
// subCategoryName: "Staff Training in First Aid and Emergency Response",
// displayOrder: 4,
// questions: [
// {
// questionName: "Are your staff trained in first aid and emergency response procedures, including the use of equipment like stretchers or carts? Examples: Staff trained to use a stretcher during an evacuation or first aid training that includes the use of a defibrillator.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "No staff members are trained in first aid or emergency response.", points: 0 },
// { name: "Some staff members have basic first aid training, but not all are trained in emergency response.", points: 5 },
// { name: "Most staff members are trained in first aid and basic emergency response, including how to use stretchers or carts.", points: 8 },
// { name: "All staff members are thoroughly trained in first aid and emergency response, with regular drills and training on using all emergency equipment, including stretchers or carts.", points: 10 },
// ]
// },
// ]
// },
// {
// subCategoryName: "Emergency Medical Contacts",
// displayOrder: 5,
// questions: [
// {
// questionName: "Do you have established contacts with local emergency medical services, and are these details readily available to staff and guests? Exammples: Emergency numbers posted at reception or in guest information booklets.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "No emergency medical contacts are available.", points: 0 },
// { name: "Emergency medical contacts are available but not readily accessible to all staff and guests.", points: 5 },
// { name: "Emergency medical contacts are available and accessible, but staff may not be fully aware of how to use them.", points: 8 },
// { name: "Comprehensive emergency medical contacts are readily available to all staff and guests, with staff fully trained on how to use them.", points: 10 },
// ]
// },
// ]
// },
// {
// subCategoryName: "Staff Training",
// displayOrder: 5,
// questions: [
// {
// questionName: "What health safety training do your staff receive? Examples: First aid certification, CPR training, safety drills.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "Our staff do not receive formal safety training.", points: 0 },
// { name: "Some staff have basic first aid training.", points: 5 },
// { name: "Most staff are trained in first aid and CPR.", points: 8 },
// { name: "All staff are thoroughly trained in first aid, CPR, and other relevant safety protocols.", points: 10 },
// { name: "Not applicable.", points: 0 },
// ]
// },
// ]
// },
// ]
// },
// //-------------------
// //Language Proficiency
// //-------------------
// {
// categoryName: "Language Proficiency",
// displayOrder: 8,
// subCategories: [
// {
// subCategoryName: "English Language Proficiency",
// displayOrder: 1,
// questions: [
// {
// questionName: "What level of English language proficiency do your staff members have? Examples: Basic conversation, fluent communication, professional proficiency.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "Most staff do not speak English.", points: 0 },
// { name: "Some staff have basic English skills.", points: 5 },
// { name: "Most staff are fluent in English and can communicate effectively with guests.", points: 8 },
// { name: "All staff are highly proficient in English, with some having professional training in English communication.", points: 10 }
// ]
// },
// {
// questionName: "Do you provide English language training for your staff? Examples: Regular English classes, language improvement programs, online courses.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not provide English language training.", points: 0 },
// { name: "We offer occasional English language training sessions.", points: 5 },
// { name: "We provide regular and structured English language training programs.", points: 8 },
// { name: "We have a comprehensive English language training program, including professional development courses.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// }
// ]
// },
// ]
// },
// //--------------------
// //Hospitality Training
// //--------------------
// {
// categoryName: "Hospitality Training",
// displayOrder: 9,
// subCategories: [
// {
// subCategoryName: "Staff Training",
// displayOrder: 1,
// questions: [
// {
// questionName: "What hospitality training do your staff receive? Examples: Customer service training, hospitality management courses, on-the-job training.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "Our staff do not receive formal hospitality training.", points: 0 },
// { name: "We provide basic hospitality training during onboarding.", points: 5 },
// { name: "We offer regular and advanced hospitality training programs for our staff.", points: 8 },
// { name: "Our staff undergo extensive and ongoing hospitality training, including certification courses.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// },
// {
// questionName: "Can you provide examples of how you ensure continuous improvement in hospitality skills for your staff? Examples: Workshops, seminars, performance evaluations, feedback sessions.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have specific measures for continuous improvement in hospitality skills.", points: 0 },
// { name: "We occasionally conduct workshops and feedback sessions.", points: 5 },
// { name: "We have a structured program for continuous improvement, including regular workshops and evaluations.", points: 8 },
// { name: "We have a comprehensive system for continuous improvement, with frequent training sessions, performance evaluations, and feedback integration.", points: 10 },
// { name: "Not applicable.", points: 0 }
// ]
// }
// ]
// },
// ]
// },
// //----------------------
// //Other Critical Parameters
// //----------------------
// {
// categoryName: "Other Critical Parameters",
// displayOrder: 10,
// subCategories: [
// {
// subCategoryName: "Legal Compliance",
// displayOrder: 1,
// questions: [
// {
// questionName: "Are you compliant with all applicable local, national, and international laws and regulations? Can you provide documentation to support this? Examples: Business licenses, health and safety certifications, regulatory audits.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have specific measures for compliance.", points: 0 },
// { name: "We ensure basic compliance with local laws.", points: 5 },
// { name: "We are compliant with local and national laws and have documentation.", points: 8 },
// { name: "We are fully compliant with all relevant laws and regulations and can provide extensive documentation.", points: 10 },
// ]
// }
// ]
// },
// {
// subCategoryName: "Customer Support and Communication",
// displayOrder: 2,
// questions: [
// {
// questionName: "How do you ensure high-quality customer support before, during, and after the experience? Examples: 24/7 support lines, dedicated customer service teams, follow-up surveys.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We do not have a formal customer support system.", points: 0 },
// { name: "We provide basic customer support during the experience.", points: 5 },
// { name: "We offer comprehensive support before, during, and after the experience.", points: 8 },
// { name: "We have a dedicated customer support team available 24/7 across multiple channels.", points: 10 },
// ]
// },
// {
// questionName: "Can you provide examples of how you handle customer inquiries and issues? Examples: Ticketing system, feedback forms, resolution timelines.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not have a specific process for handling inquiries and issues.", points: 0 },
// { name: "We handle inquiries and issues as they arise but do not track them systematically.", points: 5 },
// { name: "We have a formal process for managing customer inquiries and issues.", points: 8 },
// { name: "We have a dedicated system for tracking, managing, and resolving customer inquiries and issues efficiently.", points: 10 },
// ]
// },
// ]
// },
// {
// subCategoryName: "Innovative Offerings",
// displayOrder: 3,
// questions: [
// {
// questionName: "What innovative or trending activities have you introduced recently? Examples: VR experiences, eco-tours, wellness retreats.",
// maxPoints: 10,
// displayOrder: 1,
// answers: [
// { name: "We have not introduced any new activities recently.", points: 0 },
// { name: "We occasionally introduce new activities.", points: 5 },
// { name: "We regularly introduce innovative and trending activities.", points: 8 },
// { name: "We are known for pioneering new trends and constantly updating our offerings.", points: 10 },
// ]
// },
// {
// questionName: "How do you stay updated with the latest trends and customer preferences? Examples: Trend analysis, customer surveys, industry conferences.",
// maxPoints: 10,
// displayOrder: 2,
// answers: [
// { name: "We do not actively monitor trends.", points: 0 },
// { name: "We occasionally review trends and customer feedback.", points: 5 },
// { name: "We have a process for regularly reviewing trends and customer preferences.", points: 8 },
// { name: "We have a dedicated team for trend analysis and customer insights, ensuring our offerings are always up-to-date.", points: 10 },
// ]
// },
// ]
// },
// ]
// },
// ];
// await prisma.pQQAnswers.deleteMany();
// await prisma.pQQQuestions.deleteMany();
// await prisma.pQQSubCategories.deleteMany();
// await prisma.pQQCategories.deleteMany();
// for (const category of categoriesData) {
// await prisma.pQQCategories.upsert({
// where: { categoryName: category.categoryName },
// update: {},
// create: {
// categoryName: category.categoryName,
// displayOrder: category.displayOrder,
// isActive: true,
// pqqsubCategories: {
// create: category.subCategories.map((sub) => ({
// subCategoryName: sub.subCategoryName,
// displayOrder: sub.displayOrder,
// isActive: true,
// questions: {
// create: sub.questions.map((q) => ({
// questionName: q.questionName,
// maxPoints: q.maxPoints,
// displayOrder: q.displayOrder,
// PQQAnswers: {
// create: q.answers.map((ans, i) => ({
// answerName: ans.name,
// answerPoints: ans.points,
// displayOrder: i + 1
// }))
// }
// }))
// }
// }))
// }
// }
// });
// }
console.log('✅ Seed data inserted successfully!');
}
main()
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});