Matching supply and demand on ride-sharing platforms with permanent agents and competition