code: def to_dict(self):
          
  
          result = self.to_identifier()
  
          result.update({
              'watched': 1 if self.is_watched else 0,
              'collected': 1 if self.is_collected else 0,
  
              'plays': self.plays if self.plays is not None else 0,
              'in_watchlist': self.in_watchlist if self.in_watchlist is not None else 0,
              'progress': self.progress,
  
              'last_watched_at': to_iso8601_datetime(self.last_watched_at),
              'collected_at': to_iso8601_datetime(self.collected_at),
              'paused_at': to_iso8601_datetime(self.paused_at)
          })
  
          if self.rating:
              result['rating'] = self.rating.value
              result['rated_at'] = to_iso8601_datetime(self.rating.timestamp)
  
          # Extended Info
          if self.released:
              result['released'] = to_iso8601_date(self.released)
  
          if self.updated_at:
              result['updated_at'] = to_iso8601_datetime(self.updated_at)
  
          if self.overview:
              result['overview'] = self.overview
  
          if self.tagline:
              result['tagline'] = self.tagline
  
          if self.runtime:
              result['runtime'] = self.runtime
  
          if self.certification:
              result['certification'] = self.certification
  
          if self.homepage:
              result['homepage'] = self.homepage
  
          if self.trailer:
              result['trailer'] = self.trailer
  
          if self.language:
              result['language'] = self.language
  
          if self.available_translations:
              result['available_translations'] = self.available_translations
  
          if self.genres:
              result['genres'] = self.genres
  
          return result
docs: Dump movie to a dictionary.
  
          :return: Movie dictionary
          :rtype: :class:`~python:dict`