amoriai/lib/services/daily_question_dataset.dart

5071 lines
116 KiB
Dart

import '../models/daily_question_model.dart';
/// 50 rotating branching question sets for daily check-in.
/// Each set has core questions (always shown) and branching
/// follow-ups that appear based on the user's answers.
class DailyQuestionDataset {
DailyQuestionDataset._();
static List<DailyQuestion> getQuestionsForToday(String userName) {
final dayOfYear = DateTime.now()
.difference(DateTime(DateTime.now().year, 1, 1))
.inDays;
final setIndex = dayOfYear % _sets.length;
return _personalize(_sets[setIndex], userName);
}
static List<DailyQuestion> getDefaultQuestions(String userName) {
return _personalize(_sets[0], userName);
}
static List<DailyQuestion> _personalize(
List<DailyQuestion> questions,
String name,
) {
return questions
.map(
(q) => DailyQuestion(
id: q.id,
question: q.question.replaceAll('{name}', name),
type: q.type,
options: q.options,
minValue: q.minValue,
maxValue: q.maxValue,
step: q.step,
dependsOn: q.dependsOn,
showWhenAnswers: q.showWhenAnswers,
),
)
.toList();
}
// ════════════════════════════════════════════
// HELPER BUILDERS
// ════════════════════════════════════════════
static DailyQuestion _choice(
String id,
String q,
List<String> opts, {
String? dep,
List<String>? when,
}) => DailyQuestion(
id: id,
question: q,
type: QuestionType.choice,
options: opts,
dependsOn: dep,
showWhenAnswers: when,
);
static DailyQuestion _slider(
String id,
String q, {
int min = 10000,
int max = 100000,
int step = 5000,
String? dep,
List<String>? when,
}) => DailyQuestion(
id: id,
question: q,
type: QuestionType.slider,
minValue: min,
maxValue: max,
step: step,
dependsOn: dep,
showWhenAnswers: when,
);
// ════════════════════════════════════════════
// 50 QUESTION SETS
// ════════════════════════════════════════════
static final List<List<DailyQuestion>> _sets = [
// ── SET 1 ──
[
_choice('intention', 'Hai {name}! Hari ini mau ngapain?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Mau ngopi hari ini?', ['Kopi', 'Tidak']),
_choice('mood', 'Mood kamu sekarang?', [
'Energik',
'Santai',
'Bahagia',
'Fokus',
'Lelah',
]),
// Makan branch
_choice(
'mealType',
'Mau makan apa?',
['Nasi', 'Mie', 'Roti/Burger', 'Seafood', 'Sayuran'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget makan kamu?',
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Level pedas?',
['Tidak Pedas', 'Sedikit Pedas', 'Sedang', 'Pedas', 'Extra Pedas'],
dep: 'intention',
when: ['Makan'],
),
// Ngemil branch
_choice(
'snackType',
'Ngemil apa nih?',
['Gorengan', 'Kue', 'Keripik', 'Buah', 'Roti'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget ngemil?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'snackFlavor',
'Rasa snack?',
['Asin', 'Manis', 'Pedas', 'Asam', 'Gurih'],
dep: 'intention',
when: ['Ngemil'],
),
// Kopi branch
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Manis',
'Minuman Segar',
'Minuman Susu/Creamy',
'Minuman Sehat',
'Air Putih',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Panas/Hangat', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tanpa Gula', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 2 ──
[
_choice('intention', 'Halo {name}! Rencana makan hari ini?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Pengen kopi?', ['Kopi', 'Tidak']),
_choice('mood', 'Perasaan kamu?', [
'Senang',
'Biasa',
'Stress',
'Semangat',
'Galau',
]),
_choice(
'mealType',
'Jenis makanan?',
['Nasi Goreng', 'Soto', 'Bakso', 'Gado-gado', 'Pecel'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget berapa?', dep: 'intention', when: ['Makan']),
_choice(
'portion',
'Porsi?',
['Kecil', 'Sedang', 'Besar', 'Extra'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack apa?',
['Martabak', 'Pisang Goreng', 'Bakwan', 'Risoles', 'Lumpia'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget snack?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Hitam (Pahit)', 'Kopi Susu (Creamy)', 'Kopi Varian (Manis)'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Segar',
'Minuman Manis',
'Minuman Susu/Creamy',
'Minuman Hangat',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Panas', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 3 ──
[
_choice('intention', 'Hai {name}! Mau makan atau ngemil?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Ngopi dulu?', ['Kopi', 'Tidak']),
_choice('energy', 'Level energi?', [
'Rendah',
'Biasa',
'Tinggi',
'Super',
]),
_choice(
'mealType',
'Menu apa?',
['Ayam Geprek', 'Rendang', 'Ikan Bakar', 'Sate', 'Rawon'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Pedas?',
['Tidak', 'Sedikit', 'Sedang', 'Pedas', 'Gila Pedas'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'texture',
'Tekstur makanan?',
['Crispy', 'Lembut', 'Kenyal', 'Berkuah'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Ngemil apa?',
['Cireng', 'Batagor', 'Siomay', 'Tahu Bulat', 'Cilok'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget ngemil?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Preferensi kopi?',
['Kopi Hitam', 'Kopi Susu/Creamy', 'Kopi Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar', 'Minuman Creamy/Susu', 'Minuman Manis', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Panas', 'Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 4 ──
[
_choice('intention', '{name}, mau makan/ngemil/skip?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Butuh kafein?', ['Kopi', 'Tidak']),
_choice('weather', 'Cuaca hari ini?', [
'Panas',
'Hangat',
'Sejuk',
'Hujan',
]),
_choice(
'mealType',
'Cuisine pilihan?',
['Indonesia', 'Jawa', 'Sunda', 'Padang', 'Western'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget makan?', dep: 'intention', when: ['Makan']),
_choice(
'portion',
'Seberapa banyak?',
['Sedikit', 'Normal', 'Banyak', 'All You Can Eat'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Camilan apa?',
['Es Krim', 'Donat', 'Brownis', 'Pancake', 'Waffle'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget camilan?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Preferensi kopi?',
['Kopi Hitam/Strong', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Double'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Hangat', 'Minuman Segar', 'Minuman Susu/Creamy', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Panas', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 5 ──
[
_choice('intention', 'Hai {name}! Lapar atau ngemil aja?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi atau skip?', ['Kopi', 'Tidak']),
_choice('activity', 'Aktivitas hari ini?', [
'Kerja',
'Kuliah',
'Olahraga',
'Santai',
'Jalan-jalan',
]),
_choice(
'mealType',
'Menu idaman?',
['Nasi Uduk', 'Nasi Kuning', 'Lontong', 'Ketoprak', 'Bubur'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Anggarannya?', dep: 'intention', when: ['Makan']),
_choice(
'dietary',
'Pantangan?',
[
'Tidak Ada',
'Tanpa Gorengan',
'Rendah Gula',
'No Santan',
'Vegetarian',
],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Ngemil apa ya?',
['Kentang Goreng', 'Nugget', 'Sosis Bakar', 'Dimsum', 'Tempura'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi style?',
['Kopi Hitam/Manual', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Creamy/Susu',
'Minuman Segar',
'Minuman Manis',
'Minuman Hangat',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Panas', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa manis?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 6 ──
[
_choice('intention', 'Halo {name}! Perut bilang apa?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi dulu ga?', ['Kopi', 'Tidak']),
_choice('mood', 'Suasana hati?', [
'Happy',
'Chill',
'Produktif',
'Moody',
'Excited',
]),
_choice(
'mealType',
'Masakan apa?',
['Mie Ayam', 'Kwetiau', 'Bihun', 'Capcay', 'Fuyunghai'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Suka pedas?',
['Ga Pedas', 'Dikit', 'Medium', 'Hot', 'Extreme'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Camilan favorit?',
['Onde-onde', 'Klepon', 'Getuk', 'Lapis Legit', 'Putu'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget ngemil?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Gaya kopi?',
['Kopi Hitam', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis level?',
['Pahit', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Manis',
'Minuman Segar/Es',
'Minuman Hangat',
'Minuman Susu/Creamy',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Panas', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 7 ──
[
_choice('intention', '{name}, makan besar atau ringan?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Ngopi yuk?', ['Kopi', 'Tidak']),
_choice('stress', 'Level stress?', [
'Santai',
'Biasa',
'Lumayan',
'Tinggi',
'Butuh Healing',
]),
_choice(
'mealType',
'Menu hari ini?',
['Nasi Padang', 'Gudeg', 'Pempek', 'Coto Makassar', 'Papeda'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'protein',
'Protein?',
['Ayam', 'Ikan', 'Daging', 'Telur', 'Tahu/Tempe'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack tradisional?',
['Serabi', 'Lupis', 'Cenil', 'Kue Cubit', 'Kue Ape'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi?',
['Kopi Hitam/Manual', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Normal', 'Manis Pas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Pilihan minuman?',
[
'Minuman Susu/Creamy',
'Minuman Segar/Dingin',
'Minuman Hangat/Tradisional',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Panas', 'Dingin', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa manis?',
['Tawar/Alami', 'Sedang', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 8 ──
[
_choice('intention', 'Hai {name}! Makan atau ngemil?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Butuh kopi?', ['Kopi', 'Tidak']),
_choice('appetite', 'Seberapa lapar?', [
'Sedikit',
'Lumayan',
'Lapar',
'Kelaparan',
]),
_choice(
'mealType',
'Mau apa?',
['Pizza', 'Pasta', 'Steak', 'Salad', 'Sandwich'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Anggarannya?', dep: 'intention', when: ['Makan']),
_choice(
'portion',
'Porsi berapa?',
['Small', 'Medium', 'Large', 'Extra Large'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack western?',
['Croissant', 'Muffin', 'Cookie', 'Pretzel', 'Bagel'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget snack?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Prefensi kopi?',
['Kopi Hitam/Kuat', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Sedikit Manis', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Segar/Buah',
'Minuman Manis',
'Minuman Susu/Creamy',
'Air Putih',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Panas', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 9 ──
[
_choice('intention', '{name}! Sarapan, makan, atau ngemil?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi pagi?', ['Kopi', 'Tidak']),
_choice('mood', 'Mood pagi ini?', [
'Fresh',
'Ngantuk',
'Semangat',
'Males',
'Excited',
]),
_choice(
'mealType',
'Sarapan apa?',
[
'Bubur Ayam',
'Nasi Goreng',
'Lontong Sayur',
'Roti Bakar',
'Nasi Kucing',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget sarapan?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Pagi-pagi pedas?',
['Jangan', 'Sedikit Aja', 'Boleh', 'Gas Pedas'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Cemilan pagi?',
['Roti', 'Biskuit', 'Granola Bar', 'Buah', 'Yogurt'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Hitam/Kuat', 'Kopi Susu/Nyaman', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Hangat',
'Minuman Susu/Creamy',
'Minuman Segar/Jus',
'Air Putih',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Hangat/Panas', 'Dingin', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 10 ──
[
_choice('intention', 'Hai {name}! Makan siang nih?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi siang?', ['Kopi', 'Tidak']),
_choice('energy', 'Energi siang?', [
'Drop',
'Biasa',
'Masih Oke',
'Full Power',
]),
_choice(
'mealType',
'Lunch menu?',
['Nasi Campur', 'Nasi Liwet', 'Nasi Timbel', 'Nasi Bakar', 'Rice Bowl'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget lunch?', dep: 'intention', when: ['Makan']),
_choice(
'dining',
'Makan di mana?',
['Kantin', 'Resto', 'Warteg', 'Delivery', 'Bawa Bekal'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack siang?',
['Tahu Crispy', 'Bakso Tusuk', 'Sosis Solo', 'Pukis', 'Martabak Mini'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tipe kopi?',
['Kopi Susu/Creamy', 'Kopi Hitam/Kuat', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Kemanisan?',
['Tanpa Gula', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas', 'Biasa'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar', 'Minuman Manis', 'Minuman Susu/Creamy', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Dingin Pas', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tanpa Gula', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 11 ──
[
_choice('intention', '{name}, dinner plan?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi malam?', ['Kopi', 'Tidak']),
_choice('mood', 'Vibe malam ini?', [
'Romantis',
'Chill',
'Lapar Berat',
'Santai',
'Celebration',
]),
_choice(
'mealType',
'Dinner?',
['Steak', 'BBQ', 'Sushi', 'Korean Food', 'Chinese Food'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget dinner?',
min: 20000,
max: 150000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'portion',
'Porsi malam?',
['Light', 'Normal', 'Heavy', 'Sharing'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack malam?',
['Popcorn', 'Nachos', 'Roti Bakar', 'Indomie', 'Seblak'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi malam?',
['Kopi Ringan (Decaf)', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Level manis?',
['Pahit', 'Pas/Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Minum malam?',
['Minuman Hangat/Rileks', 'Minuman Susu/Creamy', 'Minuman Sehat/Alami'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Hangat/Panas', 'Suhu Ruang', 'Dingin'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar/Alami', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 12 ──
[
_choice('intention', 'Hai {name}! Lagi ngidam makan?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Ngopi ga?', ['Kopi', 'Tidak']),
_choice('craving', 'Ngidam rasa apa?', [
'Gurih',
'Manis',
'Asam',
'Pedas',
'Segar',
]),
_choice(
'mealType',
'Ngidam apa?',
['Nasi Goreng Kampung', 'Sop Buntut', 'Iga Bakar', 'Tongseng', 'Gulai'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Pedasnya?',
['Skip', 'Mild', 'Medium', 'Hot', 'Volcano'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack ngidam?',
['Cireng Rujak', 'Baso Aci', 'Seblak', 'Cimol', 'Sosis Pedas'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget snack?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi ngidam?',
['Kopi Susu/Creamy', 'Kopi Hitam/Segar', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar/Dingin', 'Minuman Susu/Creamy', 'Minuman Manis'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Dingin Pas', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Manis?',
['Kurang Gula', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 13 ──
[
_choice('intention', '{name}, perut sudah bunyi?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kafein call?', ['Kopi', 'Tidak']),
_choice('health', 'Hari ini mau sehat?', [
'Super Sehat',
'Balanced',
'Cheat Day',
'YOLO',
]),
_choice(
'mealType',
'Pilihan sehat?',
['Salad Bowl', 'Poke Bowl', 'Sup Sayur', 'Pecel', 'Urap'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'protein',
'Protein pilihan?',
['Ayam Panggang', 'Ikan Steam', 'Tahu', 'Tempe', 'Telur Rebus'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Healthy snack?',
['Buah Potong', 'Granola', 'Kacang', 'Yogurt', 'Dried Fruit'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Hitam Polos', 'Kopi Susu/Creamy', 'Minuman Sehat/Sejuk'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Pemanis?',
['Tanpa Gula', 'Normal', 'Madu/Alami'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Air Putih/Sehat', 'Minuman Segar/Alami', 'Minuman Sehat/Nabati'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Suhu Ruang', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar/Alami', 'Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 14 ──
[
_choice('intention', 'Hai {name}! Comfort food atau diet?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi comfort?', ['Kopi', 'Tidak']),
_choice('mood', 'Butuh comfort?', [
'Banget',
'Lumayan',
'Biasa Aja',
'Lagi Happy',
]),
_choice(
'mealType',
'Comfort food?',
['Indomie', 'Nasi Goreng', 'Bakso', 'Soto Ayam', 'Mie Ayam'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Level pedas comfort?',
['Original', 'Tambah Cabe', 'Pedas', 'Pedas Mampus'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Comfort snack?',
['Coklat', 'Keripik', 'Es Krim', 'Roti Coklat', 'Pisang Goreng Keju'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi favorit?',
['Kopi Hitam/Manual', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Level manis?',
['Less Sugar', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Susu/Creamy',
'Minuman Hangat/Rileks',
'Minuman Hangat/Sehat',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Hangat/Panas', 'Dingin'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Normal', 'Manis Pas', 'Manis Banget'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 15 ──
[
_choice('intention', '{name}, makan berat atau ringan?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Need caffeine?', ['Kopi', 'Tidak']),
_choice('time', 'Ini untuk kapan?', [
'Sekarang',
'Nanti Siang',
'Sore',
'Malam',
]),
_choice(
'mealType',
'Heavy meal?',
[
'Nasi Liwet Komplit',
'Sei Sapi',
'Bebek Goreng',
'Ayam Betutu',
'Babi Guling',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget?',
min: 15000,
max: 120000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'texture',
'Maunya?',
['Goreng Kering', 'Berkuah', 'Bakar', 'Panggang', 'Steam'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Light snack?',
['Egg Tart', 'Siu Mai', 'Spring Roll', 'Gyoza', 'Pangsit'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Hitam/Kuat', 'Kopi Susu/Creamy', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Hangat', 'Minuman Segar/Sehat', 'Minuman Manis'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Panas/Hangat', 'Dingin', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 16 ──
[
_choice('intention', 'Halo {name}! Street food atau resto?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi street?', ['Kopi', 'Tidak']),
_choice('mood', 'Mood jajan?', [
'Explore',
'Favorit Aja',
'Random',
'Hemat',
'Treat Yourself',
]),
_choice(
'mealType',
'Street food?',
[
'Nasi Goreng Gerobak',
'Mie Tek-tek',
'Martabak Telor',
'Sate Kambing',
'Pecel Lele',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget street food?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Sambel?',
['Tanpa Sambel', 'Sambel Dikit', 'Sambel Banyak', 'Sambel Extra'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Jajanan pasar?',
['Lemper', 'Risoles', 'Pastel', 'Kue Lapis', 'Nagasari'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget jajan?',
min: 2000,
max: 30000,
step: 2000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi style?',
['Kopi Hitam (Manual)', 'Kopi Susu (Creamy)', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Manis Banget'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar', 'Minuman Manis', 'Minuman Susu/Creamy', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Dingin', 'Panas'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 17 ──
[
_choice('intention', '{name}! Makan bareng atau sendirian?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Coffee date?', ['Kopi', 'Tidak']),
_choice('companion', 'Makan sama siapa?', [
'Sendiri',
'Teman',
'Pacar',
'Keluarga',
'Rekan Kerja',
]),
_choice(
'mealType',
'Menu bareng?',
[
'All You Can Eat',
'Hotpot',
'BBQ Korean',
'Seafood Bakar',
'Prasmanan',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget per orang?',
min: 20000,
max: 150000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'portion',
'Sharing?',
['Personal', 'Sharing 2', 'Sharing 4', 'Rame-rame'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack bareng?',
['Platter', 'Pizza', 'Takoyaki', 'Dimsum', 'Nachos'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 80000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Susu (Creamy)', 'Kopi Hitam (Kuat)', 'Kopi Varian (Manis)'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Pas/Normal', 'Manis Banget'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas/Hangat'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Susu/Creamy',
'Minuman Segar/Es',
'Minuman Manis',
'Air Putih',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Panas', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 18 ──
[
_choice('intention', 'Hai {name}! Makan sehat hari ini?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi organik?', ['Kopi', 'Tidak']),
_choice('goal', 'Goal makan?', [
'Diet',
'Bulking',
'Maintain',
'No Goal',
]),
_choice(
'mealType',
'Healthy menu?',
['Chicken Breast', 'Salmon', 'Tofu Steak', 'Quinoa Bowl', 'Wrap'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget sehat?',
min: 15000,
max: 100000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'protein',
'Sumber protein?',
['Dada Ayam', 'Ikan', 'Telur', 'Kacang-kacangan', 'Susu'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Healthy snack?',
['Protein Bar', 'Trail Mix', 'Edamame', 'Hummus', 'Dark Chocolate'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi sehat?',
['Kopi Hitam Polos', 'Kopi Susu/Creamy', 'Kopi Sehat'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Pemanis?',
['Tanpa Gula', 'Madu/Alami', 'Sedikit'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar/Alami', 'Minuman Sehat/Sejuk', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Suhu Ruang', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar/Alami', 'Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 19 ──
[
_choice('intention', '{name}! Weekend vibes, mau apa?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Weekend coffee?', ['Kopi', 'Tidak']),
_choice('vibe', 'Weekend mood?', [
'Lazy',
'Adventurous',
'Cozy',
'Party',
'Healing',
]),
_choice(
'mealType',
'Weekend feast?',
['Brunch', 'BBQ', 'Buffet', 'Seafood', 'Fine Dining'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Weekend budget?',
min: 20000,
max: 200000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Pedas weekend?',
['Kalem', 'Sedang', 'Pedas', 'Challenge'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Weekend snack?',
['Acai Bowl', 'Churros', 'Crepe', 'Gelato', 'Banana Split'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 80000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Weekend coffee?',
['Kopi Hitam/Kuat', 'Kopi Susu/Creamy', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Slow', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Weekend drink?',
[
'Minuman Segar/Es',
'Minuman Susu/Creamy',
'Minuman Manis',
'Air Putih',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Suhu Ruang', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Manis?',
['Normal', 'Pas', 'Extra Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 20 ──
[
_choice('intention', 'Halo {name}! Hari ini makan apa ya?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kafein?', ['Kopi', 'Tidak']),
_choice('mood', 'Feeling?', [
'Productive',
'Dreamy',
'Hungry',
'Zen',
'Playful',
]),
_choice(
'mealType',
'Asian food?',
['Ramen', 'Pad Thai', 'Pho', 'Dim Sum', 'Bibimbap'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'texture',
'Texture?',
['Soupy', 'Crunchy', 'Chewy', 'Smooth', 'Mixed'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Asian snack?',
['Mochi', 'Taiyaki', 'Egg Waffle', 'Onigiri', 'Gyoza'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tipe kopi?',
['Kopi Susu (Creamy)', 'Kopi Hitam/Kuat', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Less Sugar', 'Normal', 'Manis Banget'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Susu/Creamy',
'Minuman Segar',
'Minuman Sehat/Alami',
'Air Putih',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Suhu Ruang', 'Panas'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 21 ──
[
_choice('intention', '{name}, makan berat atau ringan nih?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Ngopi?', ['Kopi', 'Tidak']),
_choice('appetite', 'Nafsu makan?', [
'Sedikit Banget',
'Lumayan',
'Normal',
'Besar',
'Rakus',
]),
_choice(
'mealType',
'Masakan rumah?',
[
'Sayur Lodeh',
'Opor Ayam',
'Semur',
'Tumis Kangkung',
'Sambal Goreng',
],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Pedas?',
['Tidak', 'Sedang', 'Pedas', 'Mantap'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Jajan?',
['Pisang Molen', 'Sus Kering', 'Kue Lumpur', 'Bika Ambon', 'Kue Ku'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 40000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tipe kopi?',
['Kopi Hitam/Manual', 'Kopi Susu Tradisional', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Sehat/Alami', 'Minuman Hangat', 'Minuman Segar/Es'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Hangat/Panas', 'Dingin/Es', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Sedikit Manis', 'Manis Pas'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 22 ──
[
_choice('intention', 'Hai {name}! Culinary adventure?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Coffee adventure?', ['Kopi', 'Tidak']),
_choice('mood', 'Adventurous level?', [
'Main Aman',
'Coba Baru',
'Full Explore',
'Surprise Me',
]),
_choice(
'mealType',
'Masakan daerah?',
[
'Masakan Manado',
'Masakan Bali',
'Masakan Aceh',
'Masakan Banjar',
'Masakan Papua',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget explore?',
min: 15000,
max: 120000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Berani pedas?',
['Aman Aja', 'Coba Dikit', 'Hajar', 'Sambel Terasi Full'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack daerah?',
['Kerak Telor', 'Surabi Bandung', 'Mpek-mpek', 'Wingko Babat', 'Leker'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Hitam/Origin', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gulanya?',
['Tanpa Gula', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar/Es', 'Minuman Hangat', 'Minuman Manis'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Panas', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Manis?',
['Pas', 'Extra Sweet', 'Less Sugar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 23 ──
[
_choice('intention', '{name}, isi perut dulu?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi dulu bos?', ['Kopi', 'Tidak']),
_choice('time', 'Makan untuk kapan?', [
'Sekarang',
'1 Jam Lagi',
'Nanti Siang',
'Nanti Malam',
]),
_choice(
'mealType',
'Menu kampus?',
['Nasi Warteg', 'Ayam Geprek', 'Mie Goreng', 'Nasi Telur', 'Bakso'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget anak kos?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'portion',
'Nambah nasi?',
['Cukup', 'Nambah 1', 'Nambah 2', 'Sepuasnya'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Jajan kampus?',
['Gorengan', 'Bala-bala', 'Tahu Isi', 'Combro', 'Misro'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget jajan?',
min: 2000,
max: 20000,
step: 2000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi budget?',
['Kopi Susu/Creamy', 'Kopi Hitam/Manual', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Es/panas?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Normal', 'Manis', 'Pahit'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar/Es', 'Minuman Manis/Sachet', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Suhu Ruang', 'Panas'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Manis?',
['Pas', 'Extra Manis', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 24 ──
[
_choice('intention', 'Halo {name}! Payday nih, makan enak?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Treat yourself coffee?', ['Kopi', 'Tidak']),
_choice('mood', 'Payday mood?', [
'Sultan',
'Treat',
'Hemat Tetap',
'Traktir Teman',
]),
_choice(
'mealType',
'Makan mewah?',
['Wagyu', 'Lobster', 'Lamb Rack', 'Duck Confit', 'Truffle Pasta'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget sultan?',
min: 50000,
max: 300000,
step: 25000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'dining',
'Tempat?',
['Fine Dining', 'Rooftop', 'Hidden Gem', 'Hotel Restaurant', 'Omakase'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Premium snack?',
['Macarons', 'Tiramisu', 'Crème Brûlée', 'Tart', 'Fondue'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 20000,
max: 150000,
step: 10000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi premium?',
['Kopi Hitam/Origin', 'Kopi Susu/Specialty', 'Kopi Varian/Modern'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Sweetness?',
['Pure Black', 'Slightly Sweet', 'Balanced', 'Sweet/Modern'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Temp?',
['Hot', 'Iced/Cold'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
[
'Minuman Segar/Pilihan',
'Minuman Varian/Signature',
'Air Putih/Premium',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Temperature?',
['Iced', 'Room Temp', 'Hot'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Taste?',
['Natural/Tanpa Gula', 'Manis Pas'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 25 ──
[
_choice('intention', '{name}, pengen yang pedas?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi?', ['Kopi', 'Tidak']),
_choice('spiceToday', 'Level pedas hari ini?', [
'Ga Kuat Pedas',
'Mild',
'Medium',
'Fire',
'Insane',
]),
_choice(
'mealType',
'Menu pedas?',
[
'Seblak',
'Ayam Geprek Nuclear',
'Mie Setan',
'Cumi Pedas',
'Sambal Matah',
],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'protein',
'Protein pedas?',
['Ayam', 'Cumi', 'Udang', 'Ikan', 'Tahu/Tempe'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack pedas?',
[
'Basreng Pedas',
'Makaroni Pedas',
'Keripik Pedas',
'Cimol Pedas',
'Seblak Kering',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Susu Creamy', 'Hitam Segar', 'Kopi Manis/Mocha'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Pahit', 'Normal', 'Manis', 'Extra'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Penawar pedas?',
['Susu/Diary', 'Minuman Manis Segar', 'Yoghurt/Asam'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Dingin Biasa', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Manis?',
['Manis Banget', 'Sedang', 'Natural'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 26 ──
[
_choice('intention', 'Hai {name}! Hari Senin, butuh energi?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Monday coffee?', ['Kopi', 'Tidak']),
_choice('energy', 'Monday energy?', [
'Zombie',
'Low Energy',
'Okay',
'Charged',
'Overclocked',
]),
_choice(
'mealType',
'Power meal?',
[
'Nasi Rendang',
'Ayam Bakar Madu',
'Ikan Panggang',
'Sop Kambing',
'Nasi Kebuli',
],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'portion',
'Porsi energi?',
['Secukupnya', 'Full Tank', 'Overload'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Energy snack?',
['Energy Bar', 'Banana', 'Dates', 'Mixed Nuts', 'Oat Cookie'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi energi?',
['Kopi Hitam/Kuat', 'Kopi Susu (Creamy)', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar', 'Minuman Sehat/Sejuk', 'Minuman Susu/Creamy'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin Banget', 'Dingin', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 27 ──
[
_choice('intention', '{name}! Makan apa hari ini?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Coffee break?', ['Kopi', 'Tidak']),
_choice('mood', 'Mood makan?', [
'Nostalgia',
'Modern',
'Fusion',
'Classic',
'Experimental',
]),
_choice(
'mealType',
'Nostalgia food?',
[
'Nasi Uduk + Bihun',
'Soto Betawi',
'Kupat Tahu',
'Tahu Gejrot',
'Mie Kocok',
],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Sambel?',
[
'Tanpa',
'Sambel Kecap',
'Sambel Terasi',
'Sambel Ijo',
'Sambel Matah',
],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack nostalgia?',
[
'Kue Rangi',
'Kembang Goyang',
'Kue Pancong',
'Ali Agrem',
'Kue Cucur',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 3000,
max: 25000,
step: 2000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi klasik?',
['Kopi Susu Tradisional', 'Kopi Hitam/Tubruk', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Manis Pas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Manis', 'Minuman Segar', 'Minuman Susu/Creamy'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Sangat Dingin', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Normal', 'Extra Manis', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 28 ──
[
_choice('intention', 'Halo {name}! Lagi diet ga?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Diet coffee?', ['Kopi', 'Tidak']),
_choice('diet', 'Jenis diet?', [
'No Diet',
'Low Carb',
'High Protein',
'Intermittent Fasting',
'Clean Eating',
]),
_choice(
'mealType',
'Diet menu?',
[
'Grilled Chicken Salad',
'Sashimi',
'Sup Sayur',
'Telur Rebus + Alpukat',
'Wrap Sayur',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget diet?',
min: 15000,
max: 80000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'portion',
'Porsi diet?',
['Mini', 'Controlled', 'Normal', 'Cheat Portion'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Diet snack?',
[
'Celery Stick',
'Rice Cake',
'Greek Yogurt',
'Cherry Tomato',
'Almonds',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi diet?',
['Kopi Hitam Polos', 'Kopi Susu Rendah Lemak', 'Kopi Segar/Drip'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'No sugar?',
['Zero/Tanpa Gula', 'Pemanis Alami', 'Sedikit Madu'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Air Putih/Sehat', 'Minuman Sehat/Sejuk', 'Minuman Alami'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Suhu Ruang', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Taste?',
['Plain/Tawar', 'Sangat Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 29 ──
[
_choice('intention', '{name}! Hujan-hujan enak makan apa?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi hangat?', ['Kopi', 'Tidak']),
_choice('weather', 'Cuaca sekarang?', [
'Gerimis',
'Hujan Deras',
'Mendung',
'Dingin',
'Angin Kencang',
]),
_choice(
'mealType',
'Comfort in rain?',
['Soto', 'Sup Bening', 'Bakmi Kuah', 'Tongseng', 'Rawon'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'warmth',
'Level hangat?',
['Hangat', 'Panas', 'Super Panas', 'Pedas Panas'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack hujan?',
['Pisang Goreng', 'Bakwan', 'Ubi Goreng', 'Singkong Keju', 'Tahu Isi'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi hangat?',
['Kopi Hitam/Kuat', 'Kopi Susu/Creamy', 'Kopi Varian/Rempah'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Hangat'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Pahit', 'Pas', 'Normal'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Minuman hangat?',
['Minuman Hangat/Sehat', 'Minuman Susu/Creamy', 'Air Putih/Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Panas', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Manis Pas', 'Sedikit Manis', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 30 ──
[
_choice('intention', 'Hai {name}! Quick meal atau slow?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Quick coffee?', ['Kopi', 'Tidak']),
_choice('pace', 'Kecepatan makan?', [
'Express 5 Menit',
'Quick 15 Menit',
'Santai 30 Menit',
'No Rush',
]),
_choice(
'mealType',
'Fast food?',
['Fried Chicken', 'Burger', 'Kebab', 'Takoyaki', 'Onigiri'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget cepat?',
min: 10000,
max: 60000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Quick sambel?',
['Skip', 'Sachet', 'Extra', 'Banjir'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Grab & go?',
['Onigiri', 'Sandwich', 'Roti Isi', 'Cup Noodle', 'Granola Bar'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Cepat saji?',
['Kopi Hitam/Segar', 'Kopi Susu/Creamy', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Minuman praktis?',
['Air Putih', 'Minuman Segar/Dingin', 'Minuman Buah/Susu'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 31 ──
[
_choice('intention', '{name}, makannya bareng siapa?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Date coffee?', ['Kopi', 'Tidak']),
_choice('companion', 'Sama siapa?', [
'Solo',
'Best Friend',
'Gebetan',
'Keluarga Besar',
'Tim Kantor',
]),
_choice(
'mealType',
'Social meal?',
['Hotpot', 'AYCE BBQ', 'Shabu-shabu', 'Pizza Sharing', 'Nasi Tumpeng'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget per orang?',
min: 25000,
max: 200000,
step: 25000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'dining',
'Tempat?',
['Mall', 'Cafe', 'Resto', 'Food Court', 'Rumah'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Sharing snack?',
[
'Platter Mix',
'French Fries XL',
'Wings Bucket',
'Sushi Roll',
'Cheese Board',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 20000,
max: 100000,
step: 10000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tipe kopi?',
['Kopi Hitam/Manual', 'Kopi Susu/Creamy', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Manis Pas', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas/Hangat'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar/Es', 'Minuman Susu/Creamy', 'Minuman Manis'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Normal', 'Extra Sweet', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 32 ──
[
_choice('intention', 'Hai {name}! Makan sebelum olahraga?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Pre-workout coffee?', ['Kopi', 'Tidak']),
_choice('workout', 'Olahraga apa?', [
'Gym',
'Jogging',
'Renang',
'Yoga',
'Basket/Futsal',
]),
_choice(
'mealType',
'Pre-workout meal?',
[
'Oatmeal',
'Roti Gandum + Selai',
'Nasi + Ayam Rebus',
'Pasta',
'Ubi Rebus',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget?',
min: 10000,
max: 60000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'timing',
'Makan kapan?',
[
'2 Jam Sebelum',
'1 Jam Sebelum',
'30 Menit Sebelum',
'Sesudah Olahraga',
],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Pre-workout snack?',
['Pisang', 'Energy Bar', 'Kurma', 'Roti + PB', 'Protein Shake'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 40000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Hitam/Kuat', 'Kopi Segar/Dingin', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Manis Pas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Air Putih', 'Minuman Sehat/Sejuk', 'Minuman Segar/Elektrolit'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin Segar', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar/Alami', 'Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 33 ──
[
_choice('intention', '{name}! Late night makan?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi tengah malam?', ['Kopi', 'Tidak']),
_choice('vibe', 'Late night vibe?', [
'Begadang',
'Lembur',
'Quality Time',
'Insomnia',
'Nonton Film',
]),
_choice(
'mealType',
'Midnight food?',
[
'Indomie Goreng',
'Nasi Goreng 24 Jam',
'Martabak',
'Roti Bakar',
'Bubur 24 Jam',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget midnight?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Pedas malam?',
['Tidak', 'Biasa', 'Pedas', 'Extra'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Midnight snack?',
['Chips', 'Popcorn', 'Biskuit', 'Cup Noodle', 'Roti + Selai'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tipe kopi?',
['Kopi Ringan/Decaf', 'Kopi Susu/Creamy', 'Kopi Hitam/Kuat'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Normal', 'Manis', 'Pahit'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Minuman rileks?',
['Minuman Susu/Creamy', 'Minuman Hangat/Sehat', 'Air Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Hangat/Panas', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Sedikit Manis', 'Manis Pas', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 34 ──
[
_choice('intention', 'Hai {name}! Makan tradisional?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi nusantara?', ['Kopi', 'Tidak']),
_choice('region', 'Asal masakan?', [
'Jawa',
'Sumatera',
'Sulawesi',
'Kalimantan',
'Bali/NTT',
]),
_choice(
'mealType',
'Menu tradisional?',
[
'Gudeg Jogja',
'Rendang Padang',
'Coto Makassar',
'Soto Banjar',
'Ayam Betutu',
],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Bumbu level?',
['Mild', 'Authentic', 'Extra Rempah', 'Pedas Nusantara'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Jajan tradisional?',
['Getuk Lindri', 'Nogosari', 'Wajik', 'Jenang', 'Jadah Tempe'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 3000,
max: 25000,
step: 2000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pilihan kopi?',
['Kopi Hitam/Origin', 'Kopi Susu Tradisional', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula tradisional?',
['Tanpa Gula', 'Pemanis Alami/Lokal', 'Normal'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Minuman nusantara?',
[
'Minuman Hangat/Seduh',
'Minuman Segar/Es',
'Minuman Sehat/Tradisional',
],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Hangat/Panas', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Manis Pas', 'Normal', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 35 ──
[
_choice('intention', '{name}! Fusion food hari ini?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Fusion coffee?', ['Kopi', 'Tidak']),
_choice('mood', 'Mood fusion?', [
'Creative',
'Classic',
'Bold',
'Curious',
]),
_choice(
'mealType',
'Fusion menu?',
[
'Sushi Burrito',
'Nasi Goreng Kimchi',
'Rendang Pizza',
'Satay Taco',
'Bakso Ramen',
],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'spice',
'Pedas fusion?',
['No', 'Mild', 'Medium', 'Fiery'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Fusion snack?',
[
'Taco Rendang',
'Lumpia Shanghai',
'Tempura Tempe',
'Kue Mochi Ubi',
'Onde Coklat',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Creative coffee?',
['Kopi Susu Creamy', 'Kopi Hitam/Fusion', 'Kopi Varian Unik'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Sweet level?',
['Minimal', 'Balanced', 'Sweet', 'Extra Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Creative drink?',
['Minuman Susu/Fusion', 'Minuman Segar/Modern', 'Minuman Varian Unik'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Manis Pas', 'Extra Sweet', 'Normal'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 36 ──
[
_choice('intention', 'Hai {name}! Seafood atau daging?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi seafood vibes?', ['Kopi', 'Tidak']),
_choice('preference', 'Seafood atau daging?', [
'Seafood',
'Daging',
'Campuran',
'Vegetarian',
]),
_choice(
'mealType',
'Seafood heaven?',
[
'Ikan Bakar Jimbaran',
'Udang Galah',
'Kepiting Saus Tiram',
'Cumi Goreng Tepung',
'Kakap Asam Manis',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget seafood?',
min: 20000,
max: 150000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'cooking',
'Style masak?',
['Bakar', 'Goreng', 'Steam', 'Saus', 'Kuah'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Seafood snack?',
[
'Kerupuk Udang',
'Otak-otak',
'Siomay Ikan',
'Pempek Kapal Selam',
'Fish Cake',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 40000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi style?',
['Kopi Segar/Dingin', 'Kopi Hitam/Manual', 'Kopi Susu/Creamy'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar/Alami', 'Minuman Segar/Manis', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Dingin Pas', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Manis Pas', 'Tawar', 'Sugar Free'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 37 ──
[
_choice('intention', '{name}, makan hemat hari ini?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi hemat?', ['Kopi', 'Tidak']),
_choice('budget_mood', 'Budget mode?', [
'Super Hemat',
'Hemat',
'Normal',
'Boros Dikit',
]),
_choice(
'mealType',
'Menu hemat?',
[
'Nasi Telur',
'Nasi + Tempe Goreng',
'Bubur Ayam',
'Mie Instan',
'Nasi Warteg',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget irit?',
min: 5000,
max: 25000,
step: 2500,
dep: 'intention',
when: ['Makan'],
),
_choice(
'portion',
'Porsi hemat?',
['Pas-pasan', 'Cukup', 'Nambah Nasi'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Jajan hemat?',
['Gorengan 1000an', 'Cilok', 'Cireng', 'Pop Mie', 'Roti Sisa'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget jajan?',
min: 2000,
max: 15000,
step: 1000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi hemat?',
['Kopi Susu/Creamy', 'Kopi Hitam/Manual', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Normal', 'Manis Banget', 'Pahit'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Air Putih', 'Minuman Manis', 'Minuman Segar'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Biasa', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Normal', 'Extra Manis', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 38 ──
[
_choice('intention', 'Halo {name}! Korean food mood?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Korean coffee?', ['Kopi', 'Tidak']),
_choice('kwave', 'K-drama mood?', [
'Romance',
'Action',
'Comedy',
'Thriller',
'No Drama',
]),
_choice(
'mealType',
'Korean menu?',
['Bibimbap', 'Tteokbokki', 'Japchae', 'Samgyeopsal', 'Kimchi Jjigae'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget oppa?',
min: 20000,
max: 120000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'spice',
'Gochujang level?',
['Mild', 'Medium', 'Spicy', 'Fire Noodle Level'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Korean snack?',
['Hotteok', 'Bungeoppang', 'Kimbap', 'Corn Dog', 'Tteok'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 60000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tipe kopi?',
['Kopi Susu/Creamy', 'Kopi Hitam/Kuat', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Kopi Pahit', 'Normal', 'Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Susu/Creamy', 'Minuman Segar', 'Minuman Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Dingin', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Manis Pas', 'Legit', 'Normal'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 39 ──
[
_choice('intention', '{name}! Japanese food?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Japanese coffee?', ['Kopi', 'Tidak']),
_choice('mood', 'Zen level?', ['Super Zen', 'Calm', 'Normal', 'Chaotic']),
_choice(
'mealType',
'Japanese menu?',
['Sushi', 'Ramen', 'Udon', 'Katsu Don', 'Teriyaki'],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget?',
min: 20000,
max: 150000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'texture',
'Texture?',
['Raw/Fresh', 'Hot Soup', 'Crispy', 'Rice Heavy'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Japanese snack?',
['Takoyaki', 'Dorayaki', 'Mochi', 'Onigiri', 'Taiyaki'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 60000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tipe kopi?',
['Kopi Hitam/Manual', 'Kopi Susu/Creamy', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Temperature?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Extra Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Sehat/Sejuk', 'Minuman Segar', 'Minuman Susu/Creamy'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 40 ──
[
_choice('intention', 'Hai {name}! BBQ day?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'BBQ coffee?', ['Kopi', 'Tidak']),
_choice('mood', 'Grill mood?', ['Smoky', 'Sweet', 'Spicy', 'All In']),
_choice(
'mealType',
'BBQ menu?',
[
'Sate Ayam',
'Sate Kambing',
'Iga Babi Panggang',
'Ikan Bakar',
'Jagung Bakar',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'BBQ budget?',
min: 15000,
max: 100000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'sauce',
'Saus BBQ?',
['Kecap Manis', 'Sambal', 'Bumbu Kacang', 'Teriyaki', 'Original'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'BBQ sides?',
[
'Jagung Rebus',
'Singkong Bakar',
'Pisang Bakar',
'Roti Bakar',
'Ubi Bakar',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi teman BBQ?',
['Kopi Segar/Dingin', 'Kopi Susu/Creamy', 'Kopi Hitam/Kuat'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar', 'Minuman Manis', 'Air Putih/Sehat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Sangat Dingin', 'Dingin Pas', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Extra Manis', 'Normal', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 41 ──
[
_choice('intention', '{name}, makan setelah kerja?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'After-work coffee?', ['Kopi', 'Tidak']),
_choice('tired', 'Capek level?', [
'Segar',
'Biasa',
'Capek',
'Exhausted',
'Mau Pingsan',
]),
_choice(
'mealType',
'Reward meal?',
[
'Ramen Spesial',
'Steak',
'Sushi Set',
'Nasi Padang',
'Seafood Platter',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget reward?',
min: 20000,
max: 120000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'dining',
'Makan di mana?',
['Dine In', 'Takeaway', 'Delivery', 'Drive Thru'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Snack reward?',
['Ice Cream', 'Cake Slice', 'Brownies', 'Cheese Fries', 'Wings'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 60000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi santai?',
['Kopi Ringan/Decaf', 'Kopi Susu/Creamy', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Normal', 'Pas', 'Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Varian', 'Minuman Susu/Creamy', 'Minuman Segar'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Pas', 'Normal', 'Manis Pas'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 42 ──
[
_choice('intention', 'Hai {name}! Vegetarian hari ini?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Plant-based coffee?', ['Kopi', 'Tidak']),
_choice('plantLevel', 'Seberapa green?', [
'Full Vegan',
'Vegetarian',
'Flexitarian',
'Meat Lover',
]),
_choice(
'mealType',
'Veggie menu?',
['Gado-gado', 'Pecel', 'Nasi Sayur', 'Lotek', 'Buddha Bowl'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'protein',
'Plant protein?',
['Tempe', 'Tahu', 'Mushroom', 'Edamame', 'Jackfruit'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Veggie snack?',
[
'Keripik Sayur',
'Tahu Crispy',
'Tempe Mendoan',
'Salad Cup',
'Fruit Bowl',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 40000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi nabati?',
['Kopi Susu (Nabati)', 'Kopi Hitam/Manual', 'Kopi Varian/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Pemanis?',
['Pemanis Alami', 'Normal', 'Tanpa Gula'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Susu (Nabati)', 'Minuman Sehat/Sejuk', 'Air Putih/Sehat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Biasa', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Normal', 'Tawar/Alami', 'Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 43 ──
[
_choice('intention', '{name}! Makan depan layar?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Coding coffee?', ['Kopi', 'Tidak']),
_choice('screen', 'Lagi ngapain?', [
'Kerja/Coding',
'Netflix',
'Gaming',
'Scrolling',
'Zoom Meeting',
]),
_choice(
'mealType',
'Desk meal?',
['Rice Bowl', 'Sandwich', 'Wrap', 'Onigiri', 'Bento'],
dep: 'intention',
when: ['Makan'],
),
_slider('budget', 'Budget?', dep: 'intention', when: ['Makan']),
_choice(
'ease',
'Kemudahan makan?',
['Satu Tangan', 'Sendok/Garpu', 'Sumpit', 'Apapun'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Screen snack?',
['Popcorn', 'Chips', 'Cookies', 'Nuts', 'Dried Fruit'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi fokus?',
['Kopi Hitam/Kuat', 'Kopi Hitam/Manual', 'Kopi Segar/Dingin'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Minuman fokus?',
['Minuman Sehat/Sejuk', 'Minuman Berenergi', 'Air Putih'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 44 ──
[
_choice('intention', 'Halo {name}! Brunch vibes?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Brunch coffee?', ['Kopi', 'Tidak']),
_choice('brunchMood', 'Brunch style?', [
'Classic',
'Healthy',
'Indulgent',
'International',
]),
_choice(
'mealType',
'Brunch menu?',
[
'Eggs Benedict',
'Avocado Toast',
'Pancake Stack',
'French Toast',
'Nasi Goreng Spesial',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget brunch?',
min: 25000,
max: 120000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'side',
'Side dish?',
['Salad', 'Fruit Bowl', 'Hash Brown', 'Sausage', 'Yogurt Parfait'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Brunch snack?',
['Scone', 'Muffin', 'Croissant', 'Danish', 'Brioche'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi brunch?',
['Kopi Susu/Creamy', 'Kopi Hitam/Manual', 'Kopi Varian/Latte'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Susu?',
['Susu Nabati', 'Susu Sapi/Creamy', 'Tanpa Susu/Hitam'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas/Hangat', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar', 'Minuman Manis', 'Minuman Susu/Creamy'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Suhu Ruang'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Natural/Natural Sweet', 'Normal', 'Sweet'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 45 ──
[
_choice('intention', '{name}! Makan one bowl?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi?', ['Kopi', 'Tidak']),
_choice('bowl', 'Satu mangkuk berisi?', [
'Berkuah',
'Kering',
'Mixed',
'Salad',
]),
_choice(
'mealType',
'Bowl menu?',
[
'Poke Bowl',
'Donburi',
'Burrito Bowl',
'Açaí Bowl',
'Nasi Campur Bowl',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget bowl?',
min: 15000,
max: 80000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'topping',
'Topping extra?',
['Telur', 'Avocado', 'Crispy Chicken', 'Salmon', 'Tofu'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Mini bowl?',
[
'Granola Bowl',
'Yogurt Bowl',
'Smoothie Bowl',
'Chia Pudding',
'Oat Bowl',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 50000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi pendamping?',
['Kopi Susu/Creamy', 'Kopi Hitam/Manual', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis?',
['Tanpa Gula', 'Normal', 'Sweet'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Sehat/Sejuk', 'Air Putih', 'Minuman Segar/Es'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Dingin Banget', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar', 'Normal', 'Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 46 ──
[
_choice('intention', 'Hai {name}! Street food tour?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Street coffee?', ['Kopi', 'Tidak']),
_choice('adventure', 'Explore level?', [
'Favorit',
'Baru Coba',
'Random',
'Viral/TikTok',
]),
_choice(
'mealType',
'Viral food?',
[
'Croffle',
'Korean Garlic Bread',
'Cromboloni',
'Bomboloni',
'Dirty Boba Rice',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget viral?',
min: 10000,
max: 80000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'hype',
'Worth the hype?',
['Coba Dulu', 'FOMO', 'Penasaran', 'Udah Coba Suka'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Viral snack?',
[
'Boba Bread',
'Cloud Cake',
'Burnt Cheesecake',
'Egg Drop',
'UFO Cake',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 60000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi kekinian?',
['Kopi Varian/Flavor', 'Kopi Susu (Creamy)', 'Kopi Hitam/Segar'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Normal', 'Extra Manis', 'Less Sugar'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Susu/Manis', 'Minuman Segar/Modern', 'Minuman Varian Teh'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin Banget', 'Dingin', 'Biasa'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Manis Pas', 'Legit/Sweet', 'Normal'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 47 ──
[
_choice('intention', '{name}, makan apa setelah puasa?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Kopi berbuka?', ['Kopi', 'Tidak']),
_choice('hunger', 'Level lapar?', [
'Biasa',
'Lapar',
'Sangat Lapar',
'Kelaparan Parah',
]),
_choice(
'mealType',
'Buka puasa menu?',
[
'Nasi + Lauk Lengkap',
'Soto',
'Bakso Urat',
'Nasi Kebuli',
'Prasmanan',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget buka?',
min: 10000,
max: 80000,
step: 5000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'portion',
'Porsi buka?',
['Sedang', 'Banyak', 'Super Banyak', 'All You Can Eat'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Takjil?',
['Kurma', 'Kolak', 'Es Buah', 'Gorengan', 'Bubur Sumsum'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget takjil?',
min: 5000,
max: 30000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi berbuka?',
['Kopi Susu (Creamy)', 'Kopi Hitam/Manual', 'Kopi Varian/Flavor'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Manis berbuka?',
['Manis Pas', 'Normal', 'Pahit'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Dingin/Es', 'Panas/Hangat'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Segar/Es', 'Minuman Alami/Segar', 'Minuman Manis'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin/Es', 'Sangat Dingin', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Manis Legit', 'Normal', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 48 ──
[
_choice('intention', 'Halo {name}! Dessert day!', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Dessert coffee?', ['Kopi', 'Tidak']),
_choice('sweet', 'Sweet tooth level?', [
'Sedikit Manis',
'Normal',
'Sweet Lover',
'Diabetes Mode',
]),
_choice(
'mealType',
'Main + dessert?',
[
'Pasta + Gelato',
'Steak + Cake',
'Ramen + Mochi',
'Pizza + Ice Cream',
'Burger + Milkshake',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget?',
min: 25000,
max: 150000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'dessert',
'Dessert pilihan?',
['Cake', 'Ice Cream', 'Pudding', 'Pie', 'Crepe'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Pure dessert?',
['Cheesecake', 'Tiramisu', 'Crème Brûlée', 'Profiteroles', 'Pavlova'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget dessert?',
min: 15000,
max: 80000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Pasangan dessert?',
['Kopi Hitam/Pahit', 'Kopi Varian/Manis', 'Kopi Susu (Creamy)'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Level manis?',
['Kontras/Pahit', 'Pas/Balanced', 'Matching/Manis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin/Es'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Susu/Manis', 'Minuman Varian', 'Minuman Susu/Creamy'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin Banget', 'Dingin', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Sweet/Legit', 'Normal', 'Extra Sweet'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 49 ──
[
_choice('intention', '{name}! Makan kenyang?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'After meal coffee?', ['Kopi', 'Tidak']),
_choice('satisfaction', 'Target kenyang?', [
'Cukup',
'Puas',
'Food Coma',
'Full Maximum',
]),
_choice(
'mealType',
'All in meal?',
[
'Nasi Padang Komplit',
'Set Meal Jepang',
'Nasi Campur Bali',
'Rijsttafel',
'Family Set Chinese',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Budget all-in?',
min: 25000,
max: 200000,
step: 10000,
dep: 'intention',
when: ['Makan'],
),
_choice(
'side',
'Extra side?',
['Tidak', 'Sup', 'Salad', 'Gorengan', 'Sambal Extra'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Heavy snack?',
[
'Martabak Manis',
'Roti Bakar',
'Pisang Bakar Keju',
'Waffle',
'French Toast',
],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 10000,
max: 60000,
step: 5000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Kopi penutup?',
['Kopi Hitam/Kuat', 'Kopi Hitam/Manual', 'Kopi Susu (Creamy)'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Tanpa Gula', 'Normal', 'Pas'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Minuman Teh/Segar', 'Air Putih/Hangat', 'Minuman Hangat/Sehat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Hangat/Panas', 'Dingin', 'Normal'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Tawar/Plain', 'Normal', 'Sedikit Manis'],
dep: 'coffee',
when: ['Tidak'],
),
],
// ── SET 50 ──
[
_choice('intention', 'Hai {name}! Akhir bulan, makan apa?', [
'Makan',
'Ngemil',
'Tidak Sama Sekali',
]),
_choice('coffee', 'Last budget coffee?', ['Kopi', 'Tidak']),
_choice('survival', 'Survival mode?', [
'Masih Aman',
'Agak Tipis',
'Hemat Banget',
'Top Up Dulu',
]),
_choice(
'mealType',
'Survival meal?',
[
'Nasi + Telur Ceplok',
'Indomie',
'Nasi Warteg Hemat',
'Bubur Ayam',
'Gado-gado',
],
dep: 'intention',
when: ['Makan'],
),
_slider(
'budget',
'Sisa budget?',
min: 5000,
max: 30000,
step: 2500,
dep: 'intention',
when: ['Makan'],
),
_choice(
'portion',
'Porsi akhir bulan?',
['Secukupnya', 'Nambah Nasi', 'Double'],
dep: 'intention',
when: ['Makan'],
),
_choice(
'snackType',
'Jajan hemat?',
['Gorengan', 'Roti Tawar', 'Biskuit', 'Pop Mie', 'Cireng'],
dep: 'intention',
when: ['Ngemil'],
),
_slider(
'snackBudget',
'Budget?',
min: 2000,
max: 15000,
step: 1000,
dep: 'intention',
when: ['Ngemil'],
),
_choice(
'coffeeType',
'Tetap ngopi?',
['Kopi Varian/Sachet', 'Kopi Hitam/Murah', 'Kopi Susu/Ekonomis'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeTemp',
'Suhu?',
['Panas', 'Dingin'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'coffeeSweetness',
'Gula?',
['Banyak', 'Normal', 'Pahit'],
dep: 'coffee',
when: ['Kopi'],
),
_choice(
'drinkType',
'Jenis minuman?',
['Air Putih', 'Minuman Segar/Es', 'Minuman Manis/Segar'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkTemp',
'Suhu?',
['Dingin', 'Biasa', 'Hangat'],
dep: 'coffee',
when: ['Tidak'],
),
_choice(
'drinkSweetness',
'Rasa?',
['Extra Manis', 'Normal', 'Tawar'],
dep: 'coffee',
when: ['Tidak'],
),
],
];
}