Skip to main content
The EVO Dialed domain model centers on the commercial relationship between brands and creators.

Model hierarchy

Brand

The client company running creator campaigns. File: app/models/brand.rb

Key attributes

Pipeline stages

Brands progress through 8 stages:
Pipeline status is written through a single service: Brands::PipelineStatusChange. Never update pipeline_status directly.

CampaignContract

The commercial agreement between EVO and a brand. File: app/models/campaign_contract.rb

Key attributes

Campaign

A time-bound content initiative under a contract. File: app/models/campaign.rb

Key attributes

Status lifecycle

User (Creator)

Content creators who produce sponsored content. File: app/models/user.rb

Key attributes

user_id in other tables refers to auth_user_id, NOT users.id. Always join via users.auth_user_id.

BrandCreatorMembership

The assignment of a creator to a brand (called “Roster Spot” in the glossary). File: app/models/brand_creator_membership.rb

Key attributes

Unique constraint

CampaignSubmission

A single piece of content (placement). File: app/models/campaign_submission.rb

Key attributes

CreatorSocial

A connected social media account. File: app/models/creator_social.rb

Key attributes

Brand linking

A social must have CreatorSocialBrand links for post attribution. Without these, synced posts have nowhere to be attributed.

Chat models

Located in app/models/chat/:

Notification models

Located in app/models/mc/: