Skip to content

Library submission data model

Library - Data Model

Entity Attribute Type / Values
Campaign Name Text
Material kind Enum: commercial, sponsorship, infomercial
Owning team Dropdown
Agency Text
Advertiser Text
Product Text
First part clock number (part1) Text
First part clock number (part2) Text
Carbon footprint calculated? Boolean (Y/N)
Material Campaign (FK) Ref: Campaign
Stage Enum: script, rough cut, TVC
Material type Enum: commercial, sponsorship, infomercial
Title Text
Duration (seconds) Number
Clock number part1 Text
Clock number part2 Text
Clock number part3 Text
Clock number part4 Text
Subtitles? Boolean (Y/N)
Subtitle distribution provider Dropdown
Intentionally quiet? Boolean (Y/N)
Audio description? Boolean (Y/N)
Language Dropdown
Submit for clearance? Boolean (Y/N)
Submission Material (FK) Ref: Material
Submission type Enum: VOD and linear, VOD only
Submission sub type Enum: standard, infomercial
Product category Text/Dropdown
Onscreen telephone number Text
Onscreen website Text
Additional advertisers Text/Multivalue
ServiceLevel Material (FK) Ref: Material
Service level type Enum: standard clearance, fast track (previous), fast track (new), 2 hour TVC (fast track), 2 hour TVC (standard)
Talent Material (FK) Ref: Material
Visual artists Text/Multivalue
Voice over artists Text/Multivalue
Ethnic BAME featured artist? Boolean (Y/N)
Ethnic BAME walk on artist? Boolean (Y/N)
Music Material (FK) Ref: Material
Has music? Boolean (Y/N)
RelatedSubmission Material (FK) Ref: Material
Related submission ID Ref: Submission

Class Diagram

@startuml
class Campaign {
    +Name : String
    +MaterialKind : enum {commercial, sponsorship, infomercial}
    +OwningTeam : String
    +Agency : String
    +Advertiser : String
    +Product : String
    +ClockNumberPart1 : String
    +ClockNumberPart2 : String
    +CarbonFootprintCalculated : Boolean
}

class Material {
    +Stage : enum {script, rough cut, TVC}
    +MaterialType : enum {commercial, sponsorship, infomercial}
    +Title : String
    +DurationSeconds : Integer
    +ClockNumberPart1 : String
    +ClockNumberPart2 : String
    +ClockNumberPart3 : String
    +ClockNumberPart4 : String
    +Subtitles : Boolean
    +SubtitleProvider : String
    +IntentionallyQuiet : Boolean
    +AudioDescription : Boolean
    +Language : String
    +SubmitForClearance : Boolean
}

class Submission {
    +SubmissionType : enum {VOD and linear, VOD only}
    +SubmissionSubType : enum {standard, infomercial}
    +ProductCategory : String
    +OnscreenTelephone : String
    +OnscreenWebsite : String
    +AdditionalAdvertisers : String
}

class ServiceLevel {
    +Type : enum {standard clearance, fast track (previous), fast track (new), 2hr TVC (fast track), 2hr TVC (standard)}
}

class Talent {
    +VisualArtists : String
    +VoiceOverArtists : String
    +EthnicBAMEFeatured : Boolean
    +EthnicBAMEWalkOn : Boolean
}

class Music {
    +HasMusic : Boolean
}

class RelatedSubmission {
    +RelatedSubmissionID : String
}

Campaign "1" -- "0..*" Material
Material "1" -- "0..*" Submission
Material "1" -- "0..1" ServiceLevel
Material "1" -- "0..1" Talent
Material "1" -- "0..1" Music
Material "1" -- "0..*" RelatedSubmission
@enduml