Database Schema
Overview
Database Schema
Business Profile Collection
{
_id: ObjectId, // Primary key (tenant ID)
published: Number, // Publication status (ActiveEnum)
name: String, // Business name
username: String, // Unique business username
description: String, // Business description
feature: String, // Featured information
facilities: [String], // Available facilities (FacilityEnum)
socialNetworkLinks: [SocialNetworkLinkSchema], // Social media links
bookingSettings: BookingSettingsSchema, // Booking configuration
businessSettings: BusinessSettingsSchema, // Business configuration
notificationSettings: NotificationSettingsSchema, // Notification preferences
paymentSettings: PaymentSettingsSchema, // Payment configuration
panelSettings: PanelSettingsSchema, // Panel UI settings
publicPageSettings: PublicPageSettingsSchema, // Public page settings
addresses: [AddressSchema], // Business addresses
schedules: [ScheduleSchema], // Operating schedules
specialSchedules: [SpecialScheduleSchema], // Special schedules
contacts: [ContactSchema], // Contact information
gallery: [ObjectId], // Gallery image references
logo: ObjectId, // Logo image reference
banners: [ObjectId], // Banner image references
stateHistory: [StateHistorySchema], // State tracking
createdAt: Date, // Auto-generated creation timestamp
updatedAt: Date // Auto-generated update timestamp
}Schema Definition
Field Specifications
Required Fields
Field
Type
Description
Validation
Optional Fields
Field
Type
Description
Default
System Fields
Field
Type
Description
Auto-Generated
Embedded Schemas
AddressSchema
ContactSchema
ScheduleSchema
SocialNetworkLinkSchema
BookingSettingsSchema
BusinessSettingsSchema
PaymentSettingsSchema
Relationships
Media Relationships
Reference Integrity
Indexing Strategy
Primary Indexes
Composite Indexes
Sparse Indexes
Query Patterns
Common Queries
Find Business Profile by Tenant ID
Find Published Profiles
Username Availability Check
Location-Based Search
Facility-Based Filtering
Text Search
Complex Aggregation Queries
Profile with Media Population
Business Directory Query
Repository Implementation
BusinessProfileRepository
Key Repository Methods
Standard CRUD Operations
Specialized Queries
Settings Management
Data Consistency
State History Tracking
Media Reference Integrity
Settings Validation
Multi-Tenancy
Tenant Isolation
Tenant-Aware Operations
Performance Considerations
Query Optimization
Media Performance
Caching Strategy
Data Migration
Schema Evolution
Example Migration Scripts
Backup and Recovery
Backup Strategy
Data Retention
Monitoring and Alerts
Database Metrics
Alert Conditions
Security Considerations
Data Protection
Media Security
Privacy Compliance
Last updated