Data Models Overview
This section provides comprehensive documentation of the data structures in OPBX.
Categories
Database Models
Complete reference of all Eloquent models including:
- Table structure and columns
- Relationships
- Scopes and mutators
- Business logic methods
Enumerations
All PHP enums used throughout the application:
- Status enums
- Type enums
- Strategy enums
- Mode enums
Configuration
Configuration files and environment variables:
- Application config
- Service configuration
- Environment variables
- Feature flags
Key Models by Module
Auto Dialer
- AutoDialerCampaign — Campaign configuration
- AutoDialerCampaignCallerId — Caller ID pool entries
- AutoDialerCallerIdStat — Per-Caller ID statistics
- AutoDialerList (
App\Models\AutoDialerList) — Distribution lists - AutoDialerDestination (
App\Models\AutoDialerDestination) — List destinations
Core PBX
- Extension (
App\Models\Extension) — PBX extensions - DidNumber (
App\Models\DidNumber) — Phone numbers - RingGroup (
App\Models\RingGroup) — Ring group configuration - IvrMenu (
App\Models\IvrMenu) — IVR menu structure - BusinessHoursSchedule (
App\Models\BusinessHoursSchedule) — Business hours
AI Integration
- AiAssistant (
App\Models\AiAssistant) — AI assistant configuration - AiAssistantLoadBalancer (
App\Models\AiAssistantLoadBalancer) — Load balancer setup
Users & Organizations
- User (
App\Models\User) — User accounts - Organization (
App\Models\Organization) — Multi-tenant organizations - CloudonixSettings — Cloudonix credentials per org
Call & Logging
- CallDetailRecord (
App\Models\CallDetailRecord) — CDR from Cloudonix - SessionUpdate — Real-time session events
- CallNotificationsSettings — Webhook notification config
- CallNotificationLog (
App\Models\CallNotificationLog) — Notification delivery log - EmailLog — Transactional email log
- PlatformAuditLog — Cross-tenant audit trail
Call Tracking
- CallTrackingCampaign — Marketing campaign attribution
- CallTrackingNumber — DID-to-campaign assignment
- CallTrackingSession — Attributed call session
- CallTrackingNotificationSettings — Per-campaign webhook settings
- CallTrackingNotificationLog (
App\Models\CallTrackingNotificationLog) — Notification delivery log - CallTrackingAdPlatformIntegration (
App\Models\CallTrackingAdPlatformIntegration) — Google Ads / Meta settings
Security
- InboundBlacklist (
App\Models\InboundBlacklist) — Blocked caller patterns - OutboundWhitelist (
App\Models\OutboundWhitelist) — Outbound routing rules - BlockedCallLog (
App\Models\BlockedCallLog) — Log of blocked calls
Recently Added
Caller ID Pooling (v2026.04)
New models supporting multiple Caller IDs per campaign:
| Model | Purpose |
|---|---|
AutoDialerCampaignCallerId | Pivot table linking campaigns to DIDs |
AutoDialerCallerIdStat | Tracks call statistics per Caller ID |
See Auto Dialer Campaigns for usage documentation.