@startuml ska_oso_pdm.information
!pragma useIntermediatePackages false

class ska_oso_pdm.information.information.Investigators {
  investigator_id: Optional[int] {static}
  given_name: Optional[str] {static}
  family_name: Optional[str] {static}
  email: Optional[EmailStr] {static}
  organization: Optional[str] {static}
  for_phd: bool {static}
  principal_investigator: bool {static}
}

class ska_oso_pdm.information.information.Document {
  document_id: int {static}
  link: str {static}
  type: str {static}
}

class ska_oso_pdm.information.information.information {
  information_id: Optional[str] {static}
  status: Optional[str] {static}
  submitted_on: Optional[pydantic.types.AwareDatetime] {static}
  submitted_by: Optional[str] {static}
  investigator_refs: list[str] {static}
  metadata: Optional[Metadata] {static}
  information_info: Optional[Information] {static}
}
class ska_oso_pdm.information.information.Information {
  title: Optional[str] {static}
  cycle: Optional[str] {static}
  abstract: Optional[str] {static}
  information_type: Optional[informationType] {static}
  science_category: Optional[str] {static}
  targets: list[Target] {static}
  documents: list[Document] {static}
  investigators: list[Investigators] {static}
  observation_sets: list[ObservationSets] {static}
  data_product_sdps: list[DataProductSDP] {static}
  data_product_src_nets: list[DataProductSRC] {static}
}
class ska_oso_pdm.information.information.informationType {
  main_type: Optional[str] {static}
  sub_type: Optional[list[str]] {static}
}
ska_oso_pdm.information.information.information *-- ska_oso_pdm.information.information.Information
ska_oso_pdm.information.information.Information *-- ska_oso_pdm.information.information.informationType
ska_oso_pdm.information.information.Information *-- ska_oso_pdm.information.information.Document

@enduml

