@startuml

class FormUI {
  m_User
  
  fetchNewsfeed()
  fetchPosts()
  fetchComments()
  fetchPhotos()
  
  addPostsToScheduler()
  removePostsFromScheduler()

  addItemsToListTopCheckInPages()
  addItemsToListTopLikedPages()
}

class FacebookService {
  LoggedInUser
}

class PageStatistics {
  <<property>> NumberOfCategories
  <<property>> NumberOfPublishedPages
  <<property>> Top4MostCheckInPage{s[]
  <<property>> Top4MostLikedPages[]
  <<property>> Categories
  GetPageStatistics()
}

class PostScheduler {
  Count
  MaxPosts
  Schedule()
  Cancel()
}

class ScheduledPost {
  <<property>> Id
  <<property>> Message
  <<property>> ScheduledAt
  <<event>> ScheduleTriggered
  OnScheduleTrigger()
}

class User {
  <<property>> Newsfeed
  <<property>> Posts
  <<property>> LikedPages
  <<property>> Albums

  PostStatus()
}

class Page {
  <<property>> Id
  <<property>> Category
  <<property>> IsPublished
  <<property>> IsCommunityPage
}

class Post {
  <<property>> Id
  <<property>> Message
}

class Album {
  <<property>> Id
  <<property>> Name
  <<property>> Count
  <<property>> Photos
}

class Photo {
  <<property>> Id
  <<property>> Name
  <<property>> Count
  <<property>> PictureNormalURL
}

FormUI *-- FacebookService
FormUI *-- PostScheduler
FormUI *-- PageStatistics

FacebookService *-- User

Album *-- Photo

User o-- Album
User o-- Page
User o-- Post

PostScheduler o-- ScheduledPost
@enduml