- ✅
- ✅ - ✅ - ✅
This commit is contained in:
+238
-228
@@ -27,231 +27,226 @@ const img = (id: string) =>
|
||||
const SEED_PASSWORD = "password123";
|
||||
|
||||
// ============================================================================
|
||||
// Itineraries — disimpan sebagai const supaya data trip tetap padat.
|
||||
// Format: header `Hari N — <hari>` lalu bullet `• HH:MM–HH:MM aktivitas`.
|
||||
// Lokasi, pos, dan spot diambil dari kasus nyata (Papandayan via Cisurupan,
|
||||
// Ciremai via Apuy, USS Liberty Tulamben, Karimun Jawa hopping, dst).
|
||||
// Itineraries — array terstruktur per hari/jam. Setiap item: {day, startTime,
|
||||
// endTime, activity}. Disimpan ke TripItineraryItem (lihat schema.prisma).
|
||||
// ============================================================================
|
||||
|
||||
const ITIN_PAPANDAYAN = `Hari 1 — Sabtu
|
||||
• 05:00–05:30 Meeting & briefing di Alun-alun Garut
|
||||
• 05:30–07:00 Perjalanan menuju basecamp Cisurupan
|
||||
• 07:00–08:00 Sarapan + repacking + pemanasan
|
||||
• 08:00–11:00 Trekking Camp David — Hutan Mati — Pondok Salada
|
||||
• 11:00–12:30 Setup tenda di Pondok Salada
|
||||
• 12:30–14:00 ISHOMA + games kenalan grup
|
||||
• 14:00–17:00 Eksplor Tegal Alun & Hutan Mati (golden hour foto)
|
||||
• 17:00–19:00 Masak bareng + makan malam
|
||||
• 19:00–21:00 Api unggun, kopi, sharing rencana summit
|
||||
• 21:00 Istirahat
|
||||
interface SeedItineraryItem {
|
||||
day: number;
|
||||
startTime: string;
|
||||
endTime?: string;
|
||||
activity: string;
|
||||
}
|
||||
|
||||
Hari 2 — Minggu
|
||||
• 03:30–04:00 Bangun + sarapan ringan + air panas
|
||||
• 04:00–05:30 Summit attack ke puncak Papandayan
|
||||
• 05:30–07:00 Sunrise + foto bareng di puncak
|
||||
• 07:00–09:00 Turun ke camp + sarapan utama
|
||||
• 09:00–11:00 Beres-beres tenda + repacking
|
||||
• 11:00–13:30 Turun ke basecamp Cisurupan
|
||||
• 13:30–14:30 Bersih-bersih + makan siang
|
||||
• 14:30–16:30 Perjalanan kembali ke Garut
|
||||
• 16:30 Sampai Garut, bubar grup`;
|
||||
const ITIN_PAPANDAYAN: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "05:00", endTime: "05:30", activity: "Meeting & briefing di Alun-alun Garut" },
|
||||
{ day: 1, startTime: "05:30", endTime: "07:00", activity: "Perjalanan menuju basecamp Cisurupan" },
|
||||
{ day: 1, startTime: "07:00", endTime: "08:00", activity: "Sarapan + repacking + pemanasan" },
|
||||
{ day: 1, startTime: "08:00", endTime: "11:00", activity: "Trekking Camp David — Hutan Mati — Pondok Salada" },
|
||||
{ day: 1, startTime: "11:00", endTime: "12:30", activity: "Setup tenda di Pondok Salada" },
|
||||
{ day: 1, startTime: "12:30", endTime: "14:00", activity: "ISHOMA + games kenalan grup" },
|
||||
{ day: 1, startTime: "14:00", endTime: "17:00", activity: "Eksplor Tegal Alun & Hutan Mati (golden hour foto)" },
|
||||
{ day: 1, startTime: "17:00", endTime: "19:00", activity: "Masak bareng + makan malam" },
|
||||
{ day: 1, startTime: "19:00", endTime: "21:00", activity: "Api unggun, kopi, sharing rencana summit" },
|
||||
{ day: 1, startTime: "21:00", activity: "Istirahat" },
|
||||
{ day: 2, startTime: "03:30", endTime: "04:00", activity: "Bangun + sarapan ringan + air panas" },
|
||||
{ day: 2, startTime: "04:00", endTime: "05:30", activity: "Summit attack ke puncak Papandayan" },
|
||||
{ day: 2, startTime: "05:30", endTime: "07:00", activity: "Sunrise + foto bareng di puncak" },
|
||||
{ day: 2, startTime: "07:00", endTime: "09:00", activity: "Turun ke camp + sarapan utama" },
|
||||
{ day: 2, startTime: "09:00", endTime: "11:00", activity: "Beres-beres tenda + repacking" },
|
||||
{ day: 2, startTime: "11:00", endTime: "13:30", activity: "Turun ke basecamp Cisurupan" },
|
||||
{ day: 2, startTime: "13:30", endTime: "14:30", activity: "Bersih-bersih + makan siang" },
|
||||
{ day: 2, startTime: "14:30", endTime: "16:30", activity: "Perjalanan kembali ke Garut" },
|
||||
{ day: 2, startTime: "16:30", activity: "Sampai Garut, bubar grup" },
|
||||
];
|
||||
|
||||
const ITIN_CIREMAI = `Hari 1 — Sabtu
|
||||
• 04:00–04:30 Meeting & briefing di Stasiun Kuningan
|
||||
• 04:30–06:30 Perjalanan ke basecamp Apuy via Maja & Argapura
|
||||
• 06:30–07:30 Sarapan + registrasi simaksi + repacking
|
||||
• 07:30–10:30 Trek Pos 1 (Berod) → Pos 2 (Arban) → Pos 3 (Tegal Masawa)
|
||||
• 10:30–11:30 ISHOMA di Pos 4 (Tegal Jamuju)
|
||||
• 11:30–14:30 Lanjut Pos 5 (Sanghyang Rangkah) → Pos 6 (Goa Walet)
|
||||
• 14:30–16:00 Setup tenda di Pos 6
|
||||
• 16:00–18:00 Acara bebas + makan sore + persiapan summit
|
||||
• 18:00–20:00 Briefing summit + early dinner
|
||||
• 20:00 Istirahat (bangun dini hari)
|
||||
const ITIN_CIREMAI: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "04:00", endTime: "04:30", activity: "Meeting & briefing di Stasiun Kuningan" },
|
||||
{ day: 1, startTime: "04:30", endTime: "06:30", activity: "Perjalanan ke basecamp Apuy via Maja & Argapura" },
|
||||
{ day: 1, startTime: "06:30", endTime: "07:30", activity: "Sarapan + registrasi simaksi + repacking" },
|
||||
{ day: 1, startTime: "07:30", endTime: "10:30", activity: "Trek Pos 1 (Berod) → Pos 2 (Arban) → Pos 3 (Tegal Masawa)" },
|
||||
{ day: 1, startTime: "10:30", endTime: "11:30", activity: "ISHOMA di Pos 4 (Tegal Jamuju)" },
|
||||
{ day: 1, startTime: "11:30", endTime: "14:30", activity: "Lanjut Pos 5 (Sanghyang Rangkah) → Pos 6 (Goa Walet)" },
|
||||
{ day: 1, startTime: "14:30", endTime: "16:00", activity: "Setup tenda di Pos 6" },
|
||||
{ day: 1, startTime: "16:00", endTime: "18:00", activity: "Acara bebas + makan sore + persiapan summit" },
|
||||
{ day: 1, startTime: "18:00", endTime: "20:00", activity: "Briefing summit + early dinner" },
|
||||
{ day: 1, startTime: "20:00", activity: "Istirahat (bangun dini hari)" },
|
||||
{ day: 2, startTime: "02:00", endTime: "02:30", activity: "Bangun + cemilan + minuman hangat" },
|
||||
{ day: 2, startTime: "02:30", endTime: "05:00", activity: "Summit attack ke puncak Sunan Cirebon (3.078 mdpl)" },
|
||||
{ day: 2, startTime: "05:00", endTime: "06:30", activity: "Sunrise di puncak Ciremai" },
|
||||
{ day: 2, startTime: "06:30", endTime: "08:30", activity: "Turun ke Pos 6 + sarapan" },
|
||||
{ day: 2, startTime: "08:30", endTime: "10:30", activity: "Beres tenda + repacking" },
|
||||
{ day: 2, startTime: "10:30", endTime: "14:00", activity: "Turun ke basecamp Apuy (track curam — hati-hati lutut)" },
|
||||
{ day: 2, startTime: "14:00", endTime: "15:00", activity: "Bersih-bersih + makan siang di basecamp" },
|
||||
{ day: 2, startTime: "15:00", endTime: "17:00", activity: "Kembali ke Stasiun Kuningan" },
|
||||
{ day: 2, startTime: "17:00", activity: "Bubar grup" },
|
||||
];
|
||||
|
||||
Hari 2 — Minggu
|
||||
• 02:00–02:30 Bangun + cemilan + minuman hangat
|
||||
• 02:30–05:00 Summit attack ke puncak Sunan Cirebon (3.078 mdpl)
|
||||
• 05:00–06:30 Sunrise di puncak Ciremai
|
||||
• 06:30–08:30 Turun ke Pos 6 + sarapan
|
||||
• 08:30–10:30 Beres tenda + repacking
|
||||
• 10:30–14:00 Turun ke basecamp Apuy (track curam — hati-hati lutut)
|
||||
• 14:00–15:00 Bersih-bersih + makan siang di basecamp
|
||||
• 15:00–17:00 Kembali ke Stasiun Kuningan
|
||||
• 17:00 Bubar grup`;
|
||||
const ITIN_CAMPING: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "13:00", endTime: "13:30", activity: "Meeting di Pertigaan Pasar Lembang" },
|
||||
{ day: 1, startTime: "13:30", endTime: "15:00", activity: "Perjalanan ke Ranca Upas via Ciwidey" },
|
||||
{ day: 1, startTime: "15:00", endTime: "16:00", activity: "Check-in + setup tenda dome (sudah disiapkan tim)" },
|
||||
{ day: 1, startTime: "16:00", endTime: "17:30", activity: "Tour camp area + ketemu rusa-rusa" },
|
||||
{ day: 1, startTime: "17:30", endTime: "19:00", activity: "Persiapan BBQ + nyalakan api unggun" },
|
||||
{ day: 1, startTime: "19:00", endTime: "21:00", activity: "Makan malam BBQ" },
|
||||
{ day: 1, startTime: "21:00", endTime: "23:00", activity: "Live music akustik + games" },
|
||||
{ day: 1, startTime: "23:00", activity: "Istirahat" },
|
||||
{ day: 2, startTime: "06:00", endTime: "07:00", activity: "Sunrise + foto di hutan pinus" },
|
||||
{ day: 2, startTime: "07:00", endTime: "08:30", activity: "Sarapan (nasi goreng + roti bakar + kopi)" },
|
||||
{ day: 2, startTime: "08:30", endTime: "10:00", activity: "Memberi makan rusa + sesi foto" },
|
||||
{ day: 2, startTime: "10:00", endTime: "11:00", activity: "Beres tenda + bersih-bersih" },
|
||||
{ day: 2, startTime: "11:00", endTime: "11:30", activity: "Pulang menuju Lembang" },
|
||||
{ day: 2, startTime: "12:00", activity: "Sampai Lembang, bubar grup" },
|
||||
];
|
||||
|
||||
const ITIN_CAMPING = `Hari 1 — Sabtu
|
||||
• 13:00–13:30 Meeting di Pertigaan Pasar Lembang
|
||||
• 13:30–15:00 Perjalanan ke Ranca Upas via Ciwidey
|
||||
• 15:00–16:00 Check-in + setup tenda dome (sudah disiapkan tim)
|
||||
• 16:00–17:30 Tour camp area + ketemu rusa-rusa
|
||||
• 17:30–19:00 Persiapan BBQ + nyalakan api unggun
|
||||
• 19:00–21:00 Makan malam BBQ
|
||||
• 21:00–23:00 Live music akustik + games
|
||||
• 23:00 Istirahat
|
||||
const ITIN_PAHAWANG: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "07:00", endTime: "07:30", activity: "Meeting di Dermaga Ketapang, Lampung Selatan" },
|
||||
{ day: 1, startTime: "07:30", endTime: "08:30", activity: "Briefing safety + fitting alat snorkel" },
|
||||
{ day: 1, startTime: "08:30", endTime: "09:30", activity: "Sailing menuju Pulau Pahawang Kecil" },
|
||||
{ day: 1, startTime: "09:30", endTime: "11:30", activity: "Snorkeling spot Cukuh Bedil — terumbu warna-warni" },
|
||||
{ day: 1, startTime: "11:30", endTime: "12:30", activity: "Pindah spot ke Pulau Kelagian Kecil" },
|
||||
{ day: 1, startTime: "12:30", endTime: "14:00", activity: "Makan siang + istirahat di pasir putih" },
|
||||
{ day: 1, startTime: "14:00", endTime: "15:30", activity: "Snorkeling Tanjung Putus + sesi foto underwater" },
|
||||
{ day: 1, startTime: "15:30", endTime: "16:30", activity: "Sailing kembali ke dermaga" },
|
||||
{ day: 1, startTime: "16:30", endTime: "17:00", activity: "Bersih-bersih + bubar grup" },
|
||||
];
|
||||
|
||||
Hari 2 — Minggu
|
||||
• 06:00–07:00 Sunrise + foto di hutan pinus
|
||||
• 07:00–08:30 Sarapan (nasi goreng + roti bakar + kopi)
|
||||
• 08:30–10:00 Memberi makan rusa + sesi foto
|
||||
• 10:00–11:00 Beres tenda + bersih-bersih
|
||||
• 11:00–11:30 Pulang menuju Lembang
|
||||
• 12:00 Sampai Lembang, bubar grup`;
|
||||
const ITIN_DIVING: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "06:30", endTime: "07:00", activity: "Meeting di dive shop Tulamben + welcome coffee" },
|
||||
{ day: 1, startTime: "07:00", endTime: "08:00", activity: "Briefing dive plan + cek sertifikasi + fitting gear" },
|
||||
{ day: 1, startTime: "08:00", endTime: "09:00", activity: "Surface interval + pengecekan tank/regulator" },
|
||||
{ day: 1, startTime: "09:00", endTime: "10:30", activity: "Dive #1 — USS Liberty Wreck (5–28m, ~50 menit bottom time)" },
|
||||
{ day: 1, startTime: "10:30", endTime: "12:00", activity: "Surface interval + brunch + log dive" },
|
||||
{ day: 1, startTime: "12:00", endTime: "13:30", activity: "Dive #2 — Coral Garden / Drop Off (~50 menit)" },
|
||||
{ day: 1, startTime: "13:30", endTime: "15:00", activity: "Debrief + makan siang" },
|
||||
{ day: 1, startTime: "15:00", endTime: "17:00", activity: "Acara bebas (rest atau eksplor desa Tulamben)" },
|
||||
{ day: 1, startTime: "17:00", endTime: "19:00", activity: "Sunset di pantai Tulamben + dinner" },
|
||||
{ day: 1, startTime: "19:00", activity: "Istirahat di homestay (mandiri)" },
|
||||
{ day: 2, startTime: "06:00", endTime: "06:30", activity: "Bangun + kopi" },
|
||||
{ day: 2, startTime: "06:30", endTime: "07:30", activity: "Briefing dive #3 (early morning visibility tinggi)" },
|
||||
{ day: 2, startTime: "07:30", endTime: "09:00", activity: "Dive #3 — Liberty Wreck pagi" },
|
||||
{ day: 2, startTime: "09:00", endTime: "10:30", activity: "Surface interval + sarapan + log" },
|
||||
{ day: 2, startTime: "10:30", endTime: "12:00", activity: "Dive #4 (opsional, fun dive shallow reef)" },
|
||||
{ day: 2, startTime: "12:00", endTime: "13:00", activity: "Bersih gear + debrief akhir" },
|
||||
{ day: 2, startTime: "13:00", endTime: "14:00", activity: "Makan siang penutupan" },
|
||||
{ day: 2, startTime: "14:00", activity: "Bubar grup" },
|
||||
];
|
||||
|
||||
const ITIN_PAHAWANG = `Hari 1 — Sabtu (one-day trip)
|
||||
• 07:00–07:30 Meeting di Dermaga Ketapang, Lampung Selatan
|
||||
• 07:30–08:30 Briefing safety + fitting alat snorkel
|
||||
• 08:30–09:30 Sailing menuju Pulau Pahawang Kecil
|
||||
• 09:30–11:30 Snorkeling spot Cukuh Bedil — terumbu warna-warni
|
||||
• 11:30–12:30 Pindah spot ke Pulau Kelagian Kecil
|
||||
• 12:30–14:00 Makan siang + istirahat di pasir putih
|
||||
• 14:00–15:30 Snorkeling Tanjung Putus + sesi foto underwater
|
||||
• 15:30–16:30 Sailing kembali ke dermaga
|
||||
• 16:30–17:00 Bersih-bersih + bubar grup`;
|
||||
const ITIN_ISLANDHOP: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "07:00", endTime: "07:30", activity: "Meeting di Pelabuhan Kartini Jepara" },
|
||||
{ day: 1, startTime: "07:30", endTime: "13:00", activity: "Penyeberangan kapal feri Jepara → Karimun Jawa" },
|
||||
{ day: 1, startTime: "13:00", endTime: "14:00", activity: "Tiba di Pelabuhan Karimun + transfer homestay" },
|
||||
{ day: 1, startTime: "14:00", endTime: "15:00", activity: "Check-in homestay + ISHOMA" },
|
||||
{ day: 1, startTime: "15:00", endTime: "17:30", activity: "Sunset di Bukit Love + foto-foto" },
|
||||
{ day: 1, startTime: "17:30", endTime: "19:00", activity: "Bersih-bersih + makan malam" },
|
||||
{ day: 1, startTime: "19:00", endTime: "21:00", activity: "Alun-alun Karimun + jajan kuliner" },
|
||||
{ day: 1, startTime: "21:00", activity: "Istirahat" },
|
||||
{ day: 2, startTime: "06:30", endTime: "07:30", activity: "Sarapan + briefing hopping" },
|
||||
{ day: 2, startTime: "07:30", endTime: "09:30", activity: "Boat ke Pulau Menjangan Kecil — snorkeling spot terumbu" },
|
||||
{ day: 2, startTime: "09:30", endTime: "11:30", activity: "Pulau Menjangan Besar — interaksi hiu (penangkaran)" },
|
||||
{ day: 2, startTime: "11:30", endTime: "13:00", activity: "Makan siang BBQ ikan di Pulau Cemara Besar" },
|
||||
{ day: 2, startTime: "13:00", endTime: "15:00", activity: "Pulau Cemara Kecil + foto pasir putih" },
|
||||
{ day: 2, startTime: "15:00", endTime: "17:00", activity: "Pulau Cilik — sunset + snorkel terakhir" },
|
||||
{ day: 2, startTime: "17:00", endTime: "18:30", activity: "Kembali ke homestay + bersih-bersih" },
|
||||
{ day: 2, startTime: "18:30", endTime: "20:00", activity: "Makan malam seafood" },
|
||||
{ day: 2, startTime: "20:00", activity: "Acara bebas" },
|
||||
{ day: 3, startTime: "06:00", endTime: "07:00", activity: "Sunrise di Tanjung Gelam" },
|
||||
{ day: 3, startTime: "07:00", endTime: "09:00", activity: "Sarapan + pack-up" },
|
||||
{ day: 3, startTime: "09:00", endTime: "10:00", activity: "Belanja oleh-oleh di pelabuhan" },
|
||||
{ day: 3, startTime: "10:00", endTime: "16:00", activity: "Penyeberangan kapal feri Karimun → Jepara" },
|
||||
{ day: 3, startTime: "16:00", endTime: "17:00", activity: "Tiba di Pelabuhan Kartini, bubar grup" },
|
||||
];
|
||||
|
||||
const ITIN_DIVING = `Hari 1 — Sabtu
|
||||
• 06:30–07:00 Meeting di dive shop Tulamben + welcome coffee
|
||||
• 07:00–08:00 Briefing dive plan + cek sertifikasi + fitting gear
|
||||
• 08:00–09:00 Surface interval + pengecekan tank/regulator
|
||||
• 09:00–10:30 Dive #1 — USS Liberty Wreck (5–28m, ~50 menit bottom time)
|
||||
• 10:30–12:00 Surface interval + brunch + log dive
|
||||
• 12:00–13:30 Dive #2 — Coral Garden / Drop Off (~50 menit)
|
||||
• 13:30–15:00 Debrief + makan siang
|
||||
• 15:00–17:00 Acara bebas (rest atau eksplor desa Tulamben)
|
||||
• 17:00–19:00 Sunset di pantai Tulamben + dinner
|
||||
• 19:00 Istirahat di homestay (mandiri)
|
||||
const ITIN_CITYTRIP: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "08:00", endTime: "08:30", activity: "Meeting di Stasiun Tugu Yogyakarta" },
|
||||
{ day: 1, startTime: "08:30", endTime: "10:00", activity: "Sarapan Gudeg Yu Djum + briefing rute" },
|
||||
{ day: 1, startTime: "10:00", endTime: "12:00", activity: "Kotagede — kerajinan perak + Masjid Mataram" },
|
||||
{ day: 1, startTime: "12:00", endTime: "13:30", activity: "Makan siang Sate Klathak Pak Pong" },
|
||||
{ day: 1, startTime: "13:30", endTime: "16:00", activity: "Tamansari — pemandian Sultan + sumur Gumuling" },
|
||||
{ day: 1, startTime: "16:00", endTime: "17:30", activity: "Coffee break di kedai lokal Prawirotaman" },
|
||||
{ day: 1, startTime: "17:30", endTime: "19:30", activity: "Sunset di Bukit Bintang (Jl. Imogiri)" },
|
||||
{ day: 1, startTime: "19:30", endTime: "21:30", activity: "Angkringan Lik Man — kopi joss + nasi kucing" },
|
||||
{ day: 1, startTime: "21:30", activity: "Drop ke penginapan masing-masing" },
|
||||
{ day: 2, startTime: "06:00", endTime: "07:00", activity: "Pickup dari penginapan" },
|
||||
{ day: 2, startTime: "07:00", endTime: "09:30", activity: "Perjalanan ke Kalibiru, Kulon Progo" },
|
||||
{ day: 2, startTime: "09:30", endTime: "11:30", activity: "Kalibiru — spot foto rumah pohon di tebing" },
|
||||
{ day: 2, startTime: "11:30", endTime: "13:00", activity: "Makan siang pecel di warung lokal" },
|
||||
{ day: 2, startTime: "13:00", endTime: "15:00", activity: "Pinus Pengger — instalasi seni alam" },
|
||||
{ day: 2, startTime: "15:00", endTime: "16:30", activity: "Heha Sky View (opsional, cek cuaca)" },
|
||||
{ day: 2, startTime: "16:30", endTime: "18:00", activity: "Kembali ke kota — drop di Stasiun Tugu / Bandara" },
|
||||
{ day: 2, startTime: "18:00", activity: "Bubar grup" },
|
||||
];
|
||||
|
||||
Hari 2 — Minggu
|
||||
• 06:00–06:30 Bangun + kopi
|
||||
• 06:30–07:30 Briefing dive #3 (early morning visibility tinggi)
|
||||
• 07:30–09:00 Dive #3 — Liberty Wreck pagi
|
||||
• 09:00–10:30 Surface interval + sarapan + log
|
||||
• 10:30–12:00 Dive #4 (opsional, fun dive shallow reef)
|
||||
• 12:00–13:00 Bersih gear + debrief akhir
|
||||
• 13:00–14:00 Makan siang penutupan
|
||||
• 14:00 Bubar grup`;
|
||||
const ITIN_CULINARY: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "09:00", endTime: "09:30", activity: "Meeting di Stasiun Bandung pintu utara + briefing rute" },
|
||||
{ day: 1, startTime: "09:30", endTime: "10:15", activity: "Stop 1: Surabi Enhaii (sarapan tradisional)" },
|
||||
{ day: 1, startTime: "10:15", endTime: "11:00", activity: "Stop 2: Lotek Kalipah Apo" },
|
||||
{ day: 1, startTime: "11:00", endTime: "11:45", activity: "Stop 3: Mie Kocok Mang Dadeng (Kebon Jukut)" },
|
||||
{ day: 1, startTime: "11:45", endTime: "12:30", activity: "Stop 4: Bakso Akung (cabang Burangrang)" },
|
||||
{ day: 1, startTime: "12:30", endTime: "13:30", activity: "Istirahat + jalan santai di Cihampelas" },
|
||||
{ day: 1, startTime: "13:30", endTime: "14:15", activity: "Stop 5: Batagor Kingsley" },
|
||||
{ day: 1, startTime: "14:15", endTime: "15:00", activity: "Stop 6: Cuanki Serayu" },
|
||||
{ day: 1, startTime: "15:00", endTime: "15:45", activity: "Stop 7: Es Cendol Elizabeth" },
|
||||
{ day: 1, startTime: "15:45", endTime: "16:30", activity: "Stop 8: Roti Gempol & Kopi Anjis (penutup)" },
|
||||
{ day: 1, startTime: "16:30", endTime: "17:00", activity: "Closing + foto bareng di Braga" },
|
||||
];
|
||||
|
||||
const ITIN_ISLANDHOP = `Hari 1 — Jumat
|
||||
• 07:00–07:30 Meeting di Pelabuhan Kartini Jepara
|
||||
• 07:30–13:00 Penyeberangan kapal feri Jepara → Karimun Jawa
|
||||
• 13:00–14:00 Tiba di Pelabuhan Karimun + transfer homestay
|
||||
• 14:00–15:00 Check-in homestay + ISHOMA
|
||||
• 15:00–17:30 Sunset di Bukit Love + foto-foto
|
||||
• 17:30–19:00 Bersih-bersih + makan malam
|
||||
• 19:00–21:00 Alun-alun Karimun + jajan kuliner
|
||||
• 21:00 Istirahat
|
||||
const ITIN_CONCERT: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "17:00", endTime: "17:30", activity: "Meeting di Plaza GBK, depan loket Cat 1" },
|
||||
{ day: 1, startTime: "17:30", endTime: "18:30", activity: "Foto bareng pre-show + obrolan singkat" },
|
||||
{ day: 1, startTime: "18:30", endTime: "19:00", activity: "Masuk venue bareng (kategori tetap masing-masing)" },
|
||||
{ day: 1, startTime: "19:00", endTime: "22:30", activity: "Konser Coldplay — Music of the Spheres" },
|
||||
{ day: 1, startTime: "22:30", endTime: "23:00", activity: "Berkumpul lagi di luar gerbang utama GBK" },
|
||||
{ day: 1, startTime: "23:00", activity: "After-party dinner di Senayan (resto TBA via grup WA)" },
|
||||
];
|
||||
|
||||
Hari 2 — Sabtu
|
||||
• 06:30–07:30 Sarapan + briefing hopping
|
||||
• 07:30–09:30 Boat ke Pulau Menjangan Kecil — snorkeling spot terumbu
|
||||
• 09:30–11:30 Pulau Menjangan Besar — interaksi hiu (penangkaran)
|
||||
• 11:30–13:00 Makan siang BBQ ikan di Pulau Cemara Besar
|
||||
• 13:00–15:00 Pulau Cemara Kecil + foto pasir putih
|
||||
• 15:00–17:00 Pulau Cilik — sunset + snorkel terakhir
|
||||
• 17:00–18:30 Kembali ke homestay + bersih-bersih
|
||||
• 18:30–20:00 Makan malam seafood
|
||||
• 20:00 Acara bebas
|
||||
const ITIN_WORKSHOP: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "04:00", endTime: "04:30", activity: "Meeting di Alun-alun Pangalengan" },
|
||||
{ day: 1, startTime: "04:30", endTime: "05:30", activity: "Briefing teknis + setup peralatan" },
|
||||
{ day: 1, startTime: "05:30", endTime: "07:30", activity: "Sunrise shoot di Perkebunan Teh Malabar" },
|
||||
{ day: 1, startTime: "07:30", endTime: "09:00", activity: "Sarapan + sesi review foto bareng mentor" },
|
||||
{ day: 1, startTime: "09:00", endTime: "11:00", activity: "Materi indoor: long exposure & filter ND" },
|
||||
{ day: 1, startTime: "11:00", endTime: "13:00", activity: "ISHOMA + transfer ke Situ Cileunca" },
|
||||
{ day: 1, startTime: "13:00", endTime: "16:00", activity: "Workshop on-field di Situ Cileunca (panorama, refleksi)" },
|
||||
{ day: 1, startTime: "16:00", endTime: "18:00", activity: "Golden hour shoot di Bukit Nini" },
|
||||
{ day: 1, startTime: "18:00", endTime: "19:30", activity: "Makan malam di villa" },
|
||||
{ day: 1, startTime: "19:30", endTime: "22:00", activity: "Sesi malam — milky way / star trail (cuaca permitting)" },
|
||||
{ day: 1, startTime: "22:00", activity: "Istirahat di villa" },
|
||||
{ day: 2, startTime: "05:00", endTime: "07:00", activity: "Sunrise shoot di Pangalengan + foto siluet" },
|
||||
{ day: 2, startTime: "07:00", endTime: "08:30", activity: "Sarapan + diskusi hasil" },
|
||||
{ day: 2, startTime: "08:30", endTime: "11:00", activity: "Sesi editing Lightroom (laptop pribadi)" },
|
||||
{ day: 2, startTime: "11:00", endTime: "12:00", activity: "Review akhir + sertifikat" },
|
||||
{ day: 2, startTime: "12:00", endTime: "13:00", activity: "Makan siang penutupan" },
|
||||
{ day: 2, startTime: "13:00", endTime: "15:00", activity: "Kembali ke Alun-alun Pangalengan" },
|
||||
{ day: 2, startTime: "15:00", activity: "Bubar grup" },
|
||||
];
|
||||
|
||||
Hari 3 — Minggu
|
||||
• 06:00–07:00 Sunrise di Tanjung Gelam
|
||||
• 07:00–09:00 Sarapan + pack-up
|
||||
• 09:00–10:00 Belanja oleh-oleh di pelabuhan
|
||||
• 10:00–16:00 Penyeberangan kapal feri Karimun → Jepara
|
||||
• 16:00–17:00 Tiba di Pelabuhan Kartini, bubar grup`;
|
||||
|
||||
const ITIN_CITYTRIP = `Hari 1 — Sabtu
|
||||
• 08:00–08:30 Meeting di Stasiun Tugu Yogyakarta
|
||||
• 08:30–10:00 Sarapan Gudeg Yu Djum + briefing rute
|
||||
• 10:00–12:00 Kotagede — kerajinan perak + Masjid Mataram
|
||||
• 12:00–13:30 Makan siang Sate Klathak Pak Pong
|
||||
• 13:30–16:00 Tamansari — pemandian Sultan + sumur Gumuling
|
||||
• 16:00–17:30 Coffee break di kedai lokal Prawirotaman
|
||||
• 17:30–19:30 Sunset di Bukit Bintang (Jl. Imogiri)
|
||||
• 19:30–21:30 Angkringan Lik Man — kopi joss + nasi kucing
|
||||
• 21:30 Drop ke penginapan masing-masing
|
||||
|
||||
Hari 2 — Minggu
|
||||
• 06:00–07:00 Pickup dari penginapan
|
||||
• 07:00–09:30 Perjalanan ke Kalibiru, Kulon Progo
|
||||
• 09:30–11:30 Kalibiru — spot foto rumah pohon di tebing
|
||||
• 11:30–13:00 Makan siang pecel di warung lokal
|
||||
• 13:00–15:00 Pinus Pengger — instalasi seni alam
|
||||
• 15:00–16:30 Heha Sky View (opsional, cek cuaca)
|
||||
• 16:30–18:00 Kembali ke kota — drop di Stasiun Tugu / Bandara
|
||||
• 18:00 Bubar grup`;
|
||||
|
||||
const ITIN_CULINARY = `Hari 1 — Sabtu (one-day food tour)
|
||||
• 09:00–09:30 Meeting di Stasiun Bandung pintu utara + briefing rute
|
||||
• 09:30–10:15 Stop 1: Surabi Enhaii (sarapan tradisional)
|
||||
• 10:15–11:00 Stop 2: Lotek Kalipah Apo
|
||||
• 11:00–11:45 Stop 3: Mie Kocok Mang Dadeng (Kebon Jukut)
|
||||
• 11:45–12:30 Stop 4: Bakso Akung (cabang Burangrang)
|
||||
• 12:30–13:30 Istirahat + jalan santai di Cihampelas
|
||||
• 13:30–14:15 Stop 5: Batagor Kingsley
|
||||
• 14:15–15:00 Stop 6: Cuanki Serayu
|
||||
• 15:00–15:45 Stop 7: Es Cendol Elizabeth
|
||||
• 15:45–16:30 Stop 8: Roti Gempol & Kopi Anjis (penutup)
|
||||
• 16:30–17:00 Closing + foto bareng di Braga`;
|
||||
|
||||
const ITIN_CONCERT = `Hari 1 — Sabtu (showtime)
|
||||
• 17:00–17:30 Meeting di Plaza GBK, depan loket Cat 1
|
||||
• 17:30–18:30 Foto bareng pre-show + obrolan singkat
|
||||
• 18:30–19:00 Masuk venue bareng (kategori tetap masing-masing)
|
||||
• 19:00–22:30 Konser Coldplay — Music of the Spheres
|
||||
• 22:30–23:00 Berkumpul lagi di luar gerbang utama GBK
|
||||
• 23:00–00:30 After-party dinner di Senayan (resto TBA via grup WA)
|
||||
• 00:30 Bubar`;
|
||||
|
||||
const ITIN_WORKSHOP = `Hari 1 — Sabtu
|
||||
• 04:00–04:30 Meeting di Alun-alun Pangalengan
|
||||
• 04:30–05:30 Briefing teknis + setup peralatan
|
||||
• 05:30–07:30 Sunrise shoot di Perkebunan Teh Malabar
|
||||
• 07:30–09:00 Sarapan + sesi review foto bareng mentor
|
||||
• 09:00–11:00 Materi indoor: long exposure & filter ND
|
||||
• 11:00–13:00 ISHOMA + transfer ke Situ Cileunca
|
||||
• 13:00–16:00 Workshop on-field di Situ Cileunca (panorama, refleksi)
|
||||
• 16:00–18:00 Golden hour shoot di Bukit Nini
|
||||
• 18:00–19:30 Makan malam di villa
|
||||
• 19:30–22:00 Sesi malam — milky way / star trail (cuaca permitting)
|
||||
• 22:00 Istirahat di villa
|
||||
|
||||
Hari 2 — Minggu
|
||||
• 05:00–07:00 Sunrise shoot di Pangalengan + foto siluet
|
||||
• 07:00–08:30 Sarapan + diskusi hasil
|
||||
• 08:30–11:00 Sesi editing Lightroom (laptop pribadi)
|
||||
• 11:00–12:00 Review akhir + sertifikat
|
||||
• 12:00–13:00 Makan siang penutupan
|
||||
• 13:00–15:00 Kembali ke Alun-alun Pangalengan
|
||||
• 15:00 Bubar grup`;
|
||||
|
||||
const ITIN_RETREAT = `Hari 1 — Jumat
|
||||
• 14:00–15:00 Check-in Villa Sawah Ubud + welcome drink (jamu)
|
||||
• 15:00–16:00 Tour fasilitas + pembagian welcome kit
|
||||
• 16:00–17:30 Yin Yoga pembuka — release perjalanan
|
||||
• 17:30–18:30 Journaling: niat & ekspektasi retreat
|
||||
• 18:30–20:00 Dinner vegan (set menu)
|
||||
• 20:00–21:00 Circle pengenalan + meditasi singkat
|
||||
• 21:00 Lights-out
|
||||
|
||||
Hari 2 — Sabtu
|
||||
• 06:00–07:30 Hatha Yoga matahari terbit
|
||||
• 07:30–09:00 Sarapan vegan + tea ceremony
|
||||
• 09:00–10:30 Meditasi guided: body scan
|
||||
• 10:30–12:00 Pranayama (latihan napas)
|
||||
• 12:00–13:30 Lunch + acara bebas (sawah walk)
|
||||
• 13:30–15:00 Sound healing dengan singing bowl
|
||||
• 15:00–16:30 Workshop: mindful eating + jamu making
|
||||
• 16:30–18:00 Yin Yoga sore + savasana panjang
|
||||
• 18:00–19:30 Dinner vegan
|
||||
• 19:30–21:00 Sharing circle + meditasi malam
|
||||
• 21:00 Lights-out
|
||||
|
||||
Hari 3 — Minggu
|
||||
• 06:00–07:30 Vinyasa Flow penutupan
|
||||
• 07:30–09:00 Sarapan + closing journaling
|
||||
• 09:00–10:30 Closing circle + tukar pesan
|
||||
• 10:30–11:30 Check-out + pelukan perpisahan
|
||||
• 11:30–14:00 Acara bebas (rekomendasi spa/cafe sekitar)
|
||||
• 14:00 Trip resmi ditutup`;
|
||||
const ITIN_RETREAT: SeedItineraryItem[] = [
|
||||
{ day: 1, startTime: "14:00", endTime: "15:00", activity: "Check-in Villa Sawah Ubud + welcome drink (jamu)" },
|
||||
{ day: 1, startTime: "15:00", endTime: "16:00", activity: "Tour fasilitas + pembagian welcome kit" },
|
||||
{ day: 1, startTime: "16:00", endTime: "17:30", activity: "Yin Yoga pembuka — release perjalanan" },
|
||||
{ day: 1, startTime: "17:30", endTime: "18:30", activity: "Journaling: niat & ekspektasi retreat" },
|
||||
{ day: 1, startTime: "18:30", endTime: "20:00", activity: "Dinner vegan (set menu)" },
|
||||
{ day: 1, startTime: "20:00", endTime: "21:00", activity: "Circle pengenalan + meditasi singkat" },
|
||||
{ day: 1, startTime: "21:00", activity: "Lights-out" },
|
||||
{ day: 2, startTime: "06:00", endTime: "07:30", activity: "Hatha Yoga matahari terbit" },
|
||||
{ day: 2, startTime: "07:30", endTime: "09:00", activity: "Sarapan vegan + tea ceremony" },
|
||||
{ day: 2, startTime: "09:00", endTime: "10:30", activity: "Meditasi guided: body scan" },
|
||||
{ day: 2, startTime: "10:30", endTime: "12:00", activity: "Pranayama (latihan napas)" },
|
||||
{ day: 2, startTime: "12:00", endTime: "13:30", activity: "Lunch + acara bebas (sawah walk)" },
|
||||
{ day: 2, startTime: "13:30", endTime: "15:00", activity: "Sound healing dengan singing bowl" },
|
||||
{ day: 2, startTime: "15:00", endTime: "16:30", activity: "Workshop: mindful eating + jamu making" },
|
||||
{ day: 2, startTime: "16:30", endTime: "18:00", activity: "Yin Yoga sore + savasana panjang" },
|
||||
{ day: 2, startTime: "18:00", endTime: "19:30", activity: "Dinner vegan" },
|
||||
{ day: 2, startTime: "19:30", endTime: "21:00", activity: "Sharing circle + meditasi malam" },
|
||||
{ day: 2, startTime: "21:00", activity: "Lights-out" },
|
||||
{ day: 3, startTime: "06:00", endTime: "07:30", activity: "Vinyasa Flow penutupan" },
|
||||
{ day: 3, startTime: "07:30", endTime: "09:00", activity: "Sarapan + closing journaling" },
|
||||
{ day: 3, startTime: "09:00", endTime: "10:30", activity: "Closing circle + tukar pesan" },
|
||||
{ day: 3, startTime: "10:30", endTime: "11:30", activity: "Check-out + pelukan perpisahan" },
|
||||
{ day: 3, startTime: "11:30", endTime: "14:00", activity: "Acara bebas (rekomendasi spa/cafe sekitar)" },
|
||||
{ day: 3, startTime: "14:00", activity: "Trip resmi ditutup" },
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// 1. Cleanup — urutan FK aware (Payment → Booking → Review → Image →
|
||||
@@ -260,10 +255,15 @@ Hari 3 — Minggu
|
||||
// ============================================================================
|
||||
|
||||
async function cleanup() {
|
||||
// Refund & Payout pakai onDelete: Restrict ke Booking/Payment, jadi mereka
|
||||
// wajib dihapus duluan sebelum Booking/Payment bisa dibersihkan.
|
||||
await prisma.refund.deleteMany();
|
||||
await prisma.payout.deleteMany();
|
||||
await prisma.payment.deleteMany();
|
||||
await prisma.booking.deleteMany();
|
||||
await prisma.tripReview.deleteMany();
|
||||
await prisma.tripImage.deleteMany();
|
||||
await prisma.tripItineraryItem.deleteMany();
|
||||
await prisma.tripParticipant.deleteMany();
|
||||
await prisma.trip.deleteMany();
|
||||
await prisma.organizerVerification.deleteMany();
|
||||
@@ -556,7 +556,7 @@ interface SeedTrip {
|
||||
title: string;
|
||||
description: string;
|
||||
meetingPoint?: string;
|
||||
itinerary?: string;
|
||||
itineraryItems?: SeedItineraryItem[];
|
||||
whatsIncluded?: string;
|
||||
whatsExcluded?: string;
|
||||
destination: string;
|
||||
@@ -580,7 +580,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
title: "Open Trip Papandayan — Maret 2026",
|
||||
description: `Pendakian santai ke Gunung Papandayan, batch Maret. Cocok untuk pemula.`,
|
||||
meetingPoint: "Alun-alun Garut, 05:00 WIB",
|
||||
itinerary: ITIN_PAPANDAYAN,
|
||||
itineraryItems: ITIN_PAPANDAYAN,
|
||||
destination: "Gunung Papandayan",
|
||||
location: "Garut, Jawa Barat",
|
||||
date: utc(2026, 2, 14, 22, 0),
|
||||
@@ -601,7 +601,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
title: "Snorkeling Pulau Pahawang — Februari 2026",
|
||||
description: `Trip snorkeling batch Februari. Cuaca bersahabat, visibility 10m+.`,
|
||||
meetingPoint: "Dermaga Ketapang, Lampung Selatan, 07:00 WIB",
|
||||
itinerary: ITIN_PAHAWANG,
|
||||
itineraryItems: ITIN_PAHAWANG,
|
||||
destination: "Pulau Pahawang Kecil",
|
||||
location: "Lampung Selatan, Lampung",
|
||||
date: utc(2026, 1, 21, 0, 0),
|
||||
@@ -621,7 +621,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
title: "Kulineran Street Food Bandung — April 2026",
|
||||
description: `Food tour batch April. 8 spot legend dilibas dalam satu hari.`,
|
||||
meetingPoint: "Stasiun Bandung pintu utara, 09:00 WIB",
|
||||
itinerary: ITIN_CULINARY,
|
||||
itineraryItems: ITIN_CULINARY,
|
||||
destination: "Street Food Tour Bandung",
|
||||
location: "Bandung, Jawa Barat",
|
||||
date: utc(2026, 3, 12, 0, 0),
|
||||
@@ -662,7 +662,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
|
||||
⚠️ Bawa: Sleeping bag, jaket, headlamp, air 2L`,
|
||||
meetingPoint: "Alun-alun Garut, Sabtu 05:00 WIB — detail grup WA.",
|
||||
itinerary: ITIN_PAPANDAYAN,
|
||||
itineraryItems: ITIN_PAPANDAYAN,
|
||||
whatsIncluded: `• Transport PP Garut–basecamp
|
||||
• Guide lokal
|
||||
• Tenda tim
|
||||
@@ -693,7 +693,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
📍 Meeting Point: Stasiun Kuningan, 04:00 WIB
|
||||
⚠️ Level: Menengah — perlu stamina baik`,
|
||||
meetingPoint: "Stasiun Kuningan, Sabtu 04:00 WIB",
|
||||
itinerary: ITIN_CIREMAI,
|
||||
itineraryItems: ITIN_CIREMAI,
|
||||
destination: "Gunung Ciremai",
|
||||
location: "Kuningan, Jawa Barat",
|
||||
date: utc(2026, 5, 23, 4, 0),
|
||||
@@ -718,7 +718,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
🎒 Fasilitas: Tenda dome, sleeping bag, BBQ, api unggun
|
||||
🔥 Bonus: Live music akustik malam hari`,
|
||||
meetingPoint: "Pertigaan Pasar Lembang, Sabtu 13:00 WIB",
|
||||
itinerary: ITIN_CAMPING,
|
||||
itineraryItems: ITIN_CAMPING,
|
||||
whatsIncluded: `• Tenda + sleeping bag + matras
|
||||
• Logistik camp
|
||||
• Makan malam BBQ + sarapan
|
||||
@@ -748,7 +748,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
🤿 Pemula friendly — guide profesional
|
||||
📷 Underwater photo session included`,
|
||||
meetingPoint: "Dermaga Ketapang, Lampung Selatan, 07:00 WIB",
|
||||
itinerary: ITIN_PAHAWANG,
|
||||
itineraryItems: ITIN_PAHAWANG,
|
||||
whatsIncluded: `• Boat PP
|
||||
• Alat snorkel (masker, fin, life vest)
|
||||
• Guide & pemandu underwater
|
||||
@@ -777,7 +777,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
|
||||
⚠️ Sertifikasi minimal: Open Water (PADI/SSI)`,
|
||||
meetingPoint: "Dive shop Tulamben, 06:30 WITA",
|
||||
itinerary: ITIN_DIVING,
|
||||
itineraryItems: ITIN_DIVING,
|
||||
whatsIncluded: `• 2x dive guided
|
||||
• Full gear rental
|
||||
• Tank & weight
|
||||
@@ -807,7 +807,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
|
||||
🏝️ Cocok untuk solo traveler & couple`,
|
||||
meetingPoint: "Pelabuhan Kartini Jepara, Jumat 07:00 WIB",
|
||||
itinerary: ITIN_ISLANDHOP,
|
||||
itineraryItems: ITIN_ISLANDHOP,
|
||||
whatsIncluded: `• Tiket kapal feri PP Jepara–Karimun
|
||||
• Homestay 2 malam (twin sharing)
|
||||
• Boat hopping 2 hari
|
||||
@@ -837,7 +837,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
|
||||
🚐 Mobil grup, bukan tour bus`,
|
||||
meetingPoint: "Stasiun Tugu Yogyakarta, Sabtu 08:00 WIB",
|
||||
itinerary: ITIN_CITYTRIP,
|
||||
itineraryItems: ITIN_CITYTRIP,
|
||||
whatsIncluded: `• Transport mobil grup 2 hari
|
||||
• Tour leader lokal
|
||||
• Makan 3x (kuliner lokal)
|
||||
@@ -866,7 +866,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
|
||||
🍜 Cocok buat foodie & first-timer`,
|
||||
meetingPoint: "Stasiun Bandung pintu utara, 09:00 WIB",
|
||||
itinerary: ITIN_CULINARY,
|
||||
itineraryItems: ITIN_CULINARY,
|
||||
whatsIncluded: `• Transport angkot/grup
|
||||
• Tour leader food explorer
|
||||
• Sample setiap spot (8 tempat)`,
|
||||
@@ -893,7 +893,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
🎤 Tiket BUKAN termasuk — peserta bawa tiket masing-masing
|
||||
🤝 Grup hanya untuk koordinasi meet-up & after-party`,
|
||||
meetingPoint: "Plaza GBK, depan loket Cat 1, 17:00 WIB",
|
||||
itinerary: ITIN_CONCERT,
|
||||
itineraryItems: ITIN_CONCERT,
|
||||
whatsIncluded: `• Koordinasi grup
|
||||
• Foto bareng pre-show
|
||||
• After-party dinner di Senayan`,
|
||||
@@ -921,7 +921,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
📷 Bawa kamera DSLR/mirrorless + tripod
|
||||
👨🏫 Mentor: fotografer pro (10+ tahun pengalaman)`,
|
||||
meetingPoint: "Alun-alun Pangalengan, Sabtu 04:00 WIB",
|
||||
itinerary: ITIN_WORKSHOP,
|
||||
itineraryItems: ITIN_WORKSHOP,
|
||||
whatsIncluded: `• Materi workshop (briefing + on-field)
|
||||
• Tour leader & mentor
|
||||
• Penginapan villa 1 malam
|
||||
@@ -951,7 +951,7 @@ const SEED_TRIPS: SeedTrip[] = [
|
||||
🧘 Untuk yang lagi burnout & butuh reset
|
||||
👥 Grup kecil (max 8) — pengalaman akrab`,
|
||||
meetingPoint: "Villa Sawah Ubud (alamat dikirim H-3 via WA)",
|
||||
itinerary: ITIN_RETREAT,
|
||||
itineraryItems: ITIN_RETREAT,
|
||||
whatsIncluded: `• Penginapan villa 2 malam
|
||||
• Yoga 4 sesi + meditasi 6 sesi
|
||||
• Sound healing (1 sesi)
|
||||
@@ -990,7 +990,6 @@ async function seedTrips(users: UserMap): Promise<TripMap> {
|
||||
title: t.title,
|
||||
description: t.description,
|
||||
meetingPoint: t.meetingPoint,
|
||||
itinerary: t.itinerary,
|
||||
whatsIncluded: t.whatsIncluded,
|
||||
whatsExcluded: t.whatsExcluded,
|
||||
destination: t.destination,
|
||||
@@ -1011,6 +1010,17 @@ async function seedTrips(users: UserMap): Promise<TripMap> {
|
||||
})),
|
||||
}
|
||||
: undefined,
|
||||
itineraryItems: t.itineraryItems?.length
|
||||
? {
|
||||
create: t.itineraryItems.map((item, order) => ({
|
||||
day: item.day,
|
||||
startTime: item.startTime,
|
||||
endTime: item.endTime ?? null,
|
||||
activity: item.activity,
|
||||
order,
|
||||
})),
|
||||
}
|
||||
: undefined,
|
||||
},
|
||||
});
|
||||
map[t.key] = { id: created.id, price: created.price, status: t.status };
|
||||
|
||||
Reference in New Issue
Block a user