The Campaign for Better Transport says ‘fair fares’ are needed as system penalises people who cannot book ahead.