fix: ensure charging schedule periods are sorted by startPeriod