119 lines
2.1 KiB
TypeScript
119 lines
2.1 KiB
TypeScript
interface Pet {
|
|
[key: string]: any;
|
|
}
|
|
|
|
interface FrequencyObject {
|
|
name: string;
|
|
frequency: number;
|
|
}
|
|
|
|
interface SubscriptionBill {
|
|
name: string;
|
|
amount: number;
|
|
date: string | Date;
|
|
}
|
|
|
|
interface ActivityObject {
|
|
name: string;
|
|
frequency: number;
|
|
schedule?: string[];
|
|
}
|
|
|
|
interface BrandLoyalty {
|
|
name: string;
|
|
loyaltyScore: number;
|
|
}
|
|
|
|
interface Event {
|
|
name: string;
|
|
date: string | Date;
|
|
details?: string;
|
|
}
|
|
|
|
interface TimelineActivity {
|
|
activity: string;
|
|
duration: string;
|
|
location?: string;
|
|
}
|
|
|
|
interface RegularStop {
|
|
location: string;
|
|
purpose: string;
|
|
frequency: string;
|
|
}
|
|
|
|
interface SpendingCategories {
|
|
[category: string]: {
|
|
preference: number;
|
|
frequency: number;
|
|
};
|
|
}
|
|
|
|
export interface Persona {
|
|
core: {
|
|
age: number;
|
|
name: string;
|
|
occupation: {
|
|
title: string;
|
|
level: string;
|
|
income: number;
|
|
location: string;
|
|
schedule: string[];
|
|
};
|
|
home: {
|
|
type: string;
|
|
ownership: string;
|
|
location: string;
|
|
commute_distance_km: number;
|
|
};
|
|
household: {
|
|
status: string;
|
|
members: string[];
|
|
pets: Pet[];
|
|
};
|
|
};
|
|
routines: {
|
|
weekday: {
|
|
[hour: string]: TimelineActivity;
|
|
};
|
|
weekend: ActivityObject[];
|
|
commute: {
|
|
method: string;
|
|
route: string[];
|
|
regular_stops: RegularStop[];
|
|
};
|
|
};
|
|
preferences: {
|
|
diet: string[];
|
|
brands: BrandLoyalty[];
|
|
price_sensitivity: number;
|
|
payment_methods: string[];
|
|
shopping: {
|
|
grocery_stores: FrequencyObject[];
|
|
coffee_shops: FrequencyObject[];
|
|
restaurants: FrequencyObject[];
|
|
retail: FrequencyObject[];
|
|
};
|
|
};
|
|
finances: {
|
|
subscriptions: SubscriptionBill[];
|
|
regular_bills: SubscriptionBill[];
|
|
spending_patterns: {
|
|
impulsive_score: number;
|
|
categories: SpendingCategories;
|
|
};
|
|
};
|
|
habits: {
|
|
exercise: ActivityObject[];
|
|
social: ActivityObject[];
|
|
entertainment: ActivityObject[];
|
|
vices: ActivityObject[];
|
|
};
|
|
context: {
|
|
stress_triggers: string[];
|
|
reward_behaviors: string[];
|
|
upcoming_events: Event[];
|
|
recent_changes: string[];
|
|
};
|
|
}
|