Admin Panel Data Schema & Field Reference This document provides the exact field names and structures for the Admin Panel to effectively manage the application's data without data loss. It is categorized by Entity and Split into Editable (Creation/Updation) and System (Read-Only) fields. 1. Users (Auth & Base Profile) Collection: users Model: UserModel Editable Fields (Create/Update) Field Name Type Description phone String User's phone number. email String? Optional email address. role String Crucial: 'brand' or 'creator'. isVerified bool Admin override to verify user (Blue Tick). isOnboardingComplete bool Flag to bypass onboarding flow. metadata Map? Any extra admin notes or flags. System / Read-Only Fields Field Name Type Description id String Firebase Auth UID. createdAt DateTime Account creation timestamp. updatedAt DateTime Last update timestamp. fcmToken String? messaging token (do not edit manually). 2. Brand Profiles Collection: brandProfiles Model: BrandProfileModel Editable Fields (Create/Update) Field Name Type Description companyName String Display name of the brand. logo String? URL to logo image. website String? Company website URL. description String? Bio / About Comapny. industry String e.g., "Fashion", "Tech". targetNiches List Array of niches they target. budgetRange String e.g., "$1k - $5k". isVerified bool Verification status (Blue badge). contactEmail String? Direct contact email. contactPhone String? Direct contact phone. location String? HQ Location. teamMembers List Array of member objects (see structure below). TeamMember Structure (inside teamMembers list): email (String) role (String: 'admin', 'manager', 'viewer') name (String?) isInvitePending (bool) System / Read-Only Fields Field Name Type Description userId String Links to users collection ID. walletBalance double Critical: Do not edit directly; use Transaction flow. totalSpent double Aggregated statistic. totalCampaigns int Counter. activeCampaigns int Counter. totalCreatorsWorkedWith int Counter. createdAt DateTime Timestamp. updatedAt DateTime Timestamp. 3. Creator Profiles Collection: creatorProfiles Model: CreatorProfileModel Editable Fields (Create/Update) Field Name Type Description displayName String Public name. bio String? Profile bio. profileImageUrl String? Avatar URL. location String? City/Country. niches List Array of categories (e.g., "Travel"). availability String 'available', 'busy', 'on_vacation'. isTopCreator bool Admin flag for "Featured" creators. isVerified bool Verification status. socialLinks List Connected accounts (see structure below). rateCard List Pricing (see structure below). portfolio List Past work. SocialLink Structure (inside socialLinks): platform (String: 'instagram', 'youtube') username (String?) url (String?) followers (int?) engagementRate (double?) isVerified (bool) RateCardItem Structure (inside rateCard): contentType (String) price (double) description (String?) deliveryDays (int?) System / Read-Only Fields Field Name Type Description userId String Links to users collection ID. walletBalance double Critical: Do not edit directly. totalEarnings double Aggregated statistic. rating double Average rating (0.0-5.0). totalReviews int Count of reviews. totalSyncs int Completed collaborations. completionRate double Reliability score. 4. Campaigns Collection: campaigns Model: CampaignModel Editable Fields (Create/Update) Field Name Type Description title String Campaign headline. description String Detailed brief. coverImage String? Banner image URL. contentTypes List Required deliverables (e.g. ['reel', 'story']). targetNiches List Target audience categories. followerRanges List e.g. ['10K-50K']. preferredLanguages List e.g. ['English', 'Hindi']. budget double Total campaign budget. paymentType String 'fixed' or 'negotiable'. maxCreators int Hiring limit. deadline DateTime? Application/Submission deadline. status String Enum: draft, active, paused, completed, cancelled. isFeatured bool Promote to home screen. isHot bool Mark as "Hot" deal. requirements List Bullet points of dos/don'ts. deliverables Map? Structured deliverable requirements. System / Read-Only Fields Field Name Type Description id String Document ID. brandId String ID of owner brand. brandName String Cached creator name (denormalized). brandLogo String? Cached logo (denormalized). mediaUrls List NOTE: If this appears in legacy, use coverImage. applicationsCount int Auto-incremented on apply. hiredCount int Auto-incremented on accept. spent double Budget utilized so far. createdAt DateTime Timestamp. 5. Collaborations (Syncs) Collection: syncs Model: SyncModel Editable Fields (Admin Overrides/Updates) Field Name Type Description status String Enum: applied, invited, negotiating, accepted, briefing, contentCreation, review, revision, approved, publishing, published, completed, cancelled, rejected. agreedAmount double Final price for the deal. contentTypes List Deliverables expected. deadline DateTime? Specific deadline for this creator. submissions List Array of ContentSubmission objects. milestones List Payment stages (if applicable). System / Read-Only Fields Field Name Type Description id String Document ID. campaignId String Parent Campaign ID. brandId String Brand ID. creatorId String Creator ID. paidAmount double Amount actually released. chatId String? Linked Firebase Chat Room ID. contractUrl String? Generated PDF contract link. paymentHeldDate DateTime? Escrow date. paymentReleasedDate DateTime? Payment completion date. 6. Payment Methods & Transactions Collection: paymentMethods Model: PaymentMethodModel Payment Method Fields Field Name Type Description userId String Owner ID. type String 'card', 'upi', 'netbanking'. label String Masked display (e.g., "HDFC ****1234"). last4 String? Last 4 digits (for cards). holderName String Name on card/account. isDefault bool Default method flag. Transaction Logs (Sub-collection) Path: brandProfiles/{id}/transactions OR creatorProfiles/{id}/transactions Key Fields: amount (double) isCredit (bool) - True = Money In, False = Money Out. type (String) - deposit, withdrawal, escrow_deposit, escrow_release. status (String) - pending, completed, failed. referenceId (String?) - Linked Sync ID.