Designing a multimodal generalised ride sharing system