export interface Exhibition { id: string name: string venue: string address: string startsAt: string endsAt: string description: string coverUrl?: string } export interface Tag { id: string; name: string; color: string } export interface ActivityImage { id: string; url: string } export interface Participant extends CoffeeChatUser { purpose: string; joinedAt: string } export interface ActivityGroup { id: string; name: string; qrImageUrl: string; note: string } export interface Activity { id: string title: string description: string location: string startsAt: string endsAt?: string capacity?: number status: 'upcoming' | 'active' | 'ended' exhibition: Exhibition images: ActivityImage[] tags: Tag[] participantCount: number participants: Participant[] groups: ActivityGroup[] } export interface CatalogMeta { exhibitions: Exhibition[]; tags: Tag[] }