Private/Get-HumanReadableSchedule.ps1

function Get-HumanReadableSchedule {
    param (
        $events
    )
    $sched = @()
    $output = @()
    $events | %{
        switch ($_.weekday) {
            1 {$weekday = 'M'}
            2 {$weekday = 'Tu'}
            3 {$weekday = 'W'}
            4 {$weekday = 'Th'}
            5 {$weekday = 'F'}
            6 {$weekday = 'Sa'}
            7 {$weekday = 'Su'}
        }
        $time = "$(get-date($_.startTime) -Format "h:mmt")-$(get-date($_.endTime) -Format "h:mmt")"
        $day = @{
            'weekday'    = $weekday
            'time'        = $time
        }
        $day = $day | ConvertTo-Json | ConvertFrom-Json
        $sched += $day
    }
    $uniTime = $sched | Select-Object time -Unique
    foreach ($t in $uniTime){
        $temp = @()
        $temp += $sched | ? {$_.time -eq $t.time} | Select-Object -ExpandProperty weekday
        $temp = $temp -join ','
        $out = "($temp $($t.time))"
        $output += $out
    }
    return ($output -join ',').Replace(':00','')
}