Schedule parsing now handles empty rows