@startuml object store_events store_events : platform store_events : store_id store_events : event_id store_events : event_timestamp store_events : tiktok_store_id store_events : tiktok_event_id store_events : _store_id store_events : _event_id store_events : _store_id store_events : _event_id store_events : _store_id store_events : _event_id store_events : raw payload? note right of store_events::"tiktok_event_id" reference tiktok_store_event_details end note note right of store_events::"_event_id" reference _store_event_details end note note right of store_events::"_event_id" reference _store_event_details end note note right of store_events::"_event_id" only one reference can exist at a time (eg event CANNOT be both from tiktok AND etsy) end note object tiktok_store_event_details tiktok_store_event_details : store_id tiktok_store_event_details : event_id tiktok_store_event_details : event_timestamp tiktok_store_event_details : [attribute: value ...] object "_store_event_details" as platform_b_specific_store_event_details platform_b_specific_store_event_details : store_id platform_b_specific_store_event_details : event_id platform_b_specific_store_event_details : event_timestamp platform_b_specific_store_event_details : [attribute: value ...] object "_store_event_details" as platform_c_specific_store_event_details platform_c_specific_store_event_details : store_id platform_c_specific_store_event_details : event_id platform_c_specific_store_event_details : event_timestamp platform_c_specific_store_event_details : [attribute: value ...] store_events <|-- tiktok_store_event_details store_events <|-- platform_b_specific_store_event_details store_events <|-- platform_c_specific_store_event_details @enduml