%schedule
  %version= @conference.revision
  %conference
    %acronym= @conference.short_title
    %title= @conference.title
    %start= @conference.start_date
    %end= @conference.end_date
    %days= (@conference.end_date - @conference.start_date).to_i + 1
    %timeslot_duration= length_timestamp(@conference.program.schedule_interval)

  - if @events_xml.any?
    - @events_xml.each_key.with_index(1) do |day, index|
      %day{ date: day, index: index }
        - events_in_rooms = @events_xml[day].group_by(&:room)
        - events_in_rooms.each_key do |room|
          %room{ name: room.name }
            - events_in_rooms[room].each do |event|
              %event{ guid: event.guid, id: event.id }
                %date= event.time.change(zone: @conference.timezone).iso8601
                %start= event.time.strftime('%H:%M')
                %duration= length_timestamp(event.event_type.length)
                %room= event.room.name
                %type= event.event_type.name
                - if event.language && ISO_639.find_by_english_name(event.language)
                  %language= ISO_639.find_by_english_name(event.language).third
                %slug= "#{event.id} #{event.title}".parameterize
                %title= event.title
                %subtitle= event.subtitle
                %track= event.track.name if event.track
                %abstract= event.abstract
                %description= event.abstract
                %recording
                  %license/
                  %optout=false #FIXME
                %persons
                  - event.speakers.uniq.each do |speaker|
                    %person{ id: speaker.id }= speaker.name
