Files
eventify_command_center/src/data/mockPartnerData.ts

205 lines
5.8 KiB
TypeScript

import { Partner, DealTerm, LedgerEntry, PartnerDocument } from '../types/partner';
import { subDays, subMonths } from 'date-fns';
export const mockPartners: Partner[] = [
{
id: 'p1',
name: 'Neon Arena',
type: 'Venue',
status: 'Active',
logo: 'https://ui-avatars.com/api/?name=Neon+Arena&background=0D8ABC&color=fff',
primaryContact: {
name: 'Alex Rivera',
email: 'alex@neonarena.com',
phone: '+91 98765 43210',
role: 'Venue Manager',
},
metrics: {
activeDeals: 2,
totalRevenue: 4500000,
openBalance: 125000,
lastActivity: new Date().toISOString(),
eventsCount: 12,
},
tags: ['Premium', 'Indoor', 'Capacity: 5000'],
joinedAt: subMonths(new Date(), 6).toISOString(),
},
{
id: 'p2',
name: 'TopTier Promoters',
type: 'Promoter',
status: 'Active',
logo: 'https://ui-avatars.com/api/?name=Top+Tier&background=F59E0B&color=fff',
primaryContact: {
name: 'Sarah Chen',
email: 'sarah@toptier.com',
role: 'Head of Marketing',
},
metrics: {
activeDeals: 5,
totalRevenue: 850000,
openBalance: 45000,
lastActivity: subDays(new Date(), 2).toISOString(),
eventsCount: 8,
},
tags: ['Influencer Network', 'Social Media'],
joinedAt: subMonths(new Date(), 3).toISOString(),
},
{
id: 'p3',
name: 'TechFlow Solutions',
type: 'Vendor',
status: 'Suspended',
logo: 'https://ui-avatars.com/api/?name=Tech+Flow&background=EF4444&color=fff',
primaryContact: {
name: 'Mike Ross',
email: 'mike@techflow.io',
role: 'Operations',
},
metrics: {
activeDeals: 0,
totalRevenue: 120000,
openBalance: 0,
lastActivity: subMonths(new Date(), 1).toISOString(),
eventsCount: 3,
},
tags: ['AV Equipment', 'Lighting'],
notes: 'Suspended due to breach of contract on Event #402',
joinedAt: subMonths(new Date(), 8).toISOString(),
},
{
id: 'p4',
name: 'Global Sponsors Inc',
type: 'Sponsor',
status: 'Invited',
logo: 'https://ui-avatars.com/api/?name=Global+Sponsors&background=10B981&color=fff',
primaryContact: {
name: 'Jessica Pearson',
email: 'jessica@globalsponsors.com',
role: 'Brand Director',
},
metrics: {
activeDeals: 0,
totalRevenue: 0,
openBalance: 0,
lastActivity: subDays(new Date(), 5).toISOString(),
eventsCount: 0,
},
tags: ['Corporate', 'High Value'],
joinedAt: subDays(new Date(), 5).toISOString(),
verificationStatus: 'Verified',
},
{
id: 'p5',
name: 'New Age Vendors',
type: 'Vendor',
status: 'Active',
logo: '',
primaryContact: {
name: 'John Doe',
email: 'john@newage.com',
role: 'Owner'
},
metrics: {
activeDeals: 0,
totalRevenue: 0,
openBalance: 0,
lastActivity: new Date().toISOString(),
eventsCount: 0,
},
tags: ['New'],
joinedAt: new Date().toISOString(),
verificationStatus: 'Pending',
}
];
export const mockDealTerms: DealTerm[] = [
{
id: 'dt1',
partnerId: 'p1',
type: 'RevenueShare',
name: 'Standard Venue Split',
params: {
percentage: 15,
currency: 'INR',
conditions: 'Net revenue after tax and platform fees',
},
effectiveFrom: subMonths(new Date(), 6).toISOString(),
status: 'Active',
version: 1,
},
{
id: 'dt2',
partnerId: 'p2',
type: 'CommissionPerTicket',
name: 'Promoter Commission',
params: {
amount: 150,
currency: 'INR',
},
effectiveFrom: subMonths(new Date(), 3).toISOString(),
status: 'Active',
version: 2,
}
];
export const mockLedger: LedgerEntry[] = [
{
id: 'le1',
partnerId: 'p1',
eventId: 'evt_123',
type: 'Credit',
description: 'Revenue Share - Neon Nights Event',
amount: 75000,
currency: 'INR',
createdAt: subDays(new Date(), 2).toISOString(),
status: 'Pending',
},
{
id: 'le2',
partnerId: 'p1',
type: 'Payout',
description: 'Monthly Settlement - Jan 2026',
amount: -50000,
currency: 'INR',
referenceId: 'TXN_987654',
createdAt: subDays(new Date(), 10).toISOString(),
status: 'Cleared',
},
{
id: 'le3',
partnerId: 'p2',
eventId: 'evt_124',
type: 'Credit',
description: 'Ticket Commission - Summer Fest',
amount: 12500,
currency: 'INR',
createdAt: subDays(new Date(), 1).toISOString(),
status: 'Pending',
}
];
export const mockDocuments: PartnerDocument[] = [
{
id: 'doc1',
partnerId: 'p1',
type: 'Contract',
name: 'Venue Agreement 2026',
url: '#',
status: 'Signed',
uploadedBy: 'Admin User',
uploadedAt: subMonths(new Date(), 6).toISOString(),
expiresAt: subMonths(new Date(), -6).toISOString(),
},
{
id: 'doc2',
partnerId: 'p1',
type: 'Tax',
name: 'GST Registration',
url: '#',
status: 'Verified',
uploadedBy: 'Alex Rivera',
uploadedAt: subMonths(new Date(), 6).toISOString(),
}
];