  Rideshare platforms, when assigning requests to drivers, tend to maximize
profit for the system and/or minimize waiting time for riders. Such platforms
can exacerbate biases that drivers may have over certain types of requests. We
consider the case of peak hours when the demand for rides is more than the
supply of drivers. Drivers are well aware of their advantage during the peak
hours and can choose to be selective about which rides to accept. Moreover, if
in such a scenario, the assignment of requests to drivers (by the platform) is
made only to maximize profit and/or minimize wait time for riders, requests of
a certain type (e.g. from a non-popular pickup location, or to a non-popular
drop-off location) might never be assigned to a driver. Such a system can be
highly unfair to riders. However, increasing fairness might come at a cost of
the overall profit made by the rideshare platform. To balance these conflicting
goals, we present a flexible, non-adaptive algorithm, \lpalg, that allows the
platform designer to control the profit and fairness of the system via
parameters $\alpha$ and $\beta$ respectively. We model the matching problem as
an online bipartite matching where the set of drivers is offline and requests
arrive online. Upon the arrival of a request, we use \lpalg to assign it to a
driver (the driver might then choose to accept or reject it) or reject the
request. We formalize the measures of profit and fairness in our setting and
show that by using \lpalg, the competitive ratios for profit and fairness
measures would be no worse than $\alpha/e$ and $\beta/e$ respectively.
Extensive experimental results on both real-world and synthetic datasets
confirm the validity of our theoretical lower bounds. Additionally, they show
that $\lpalg$ under some choice of $(\alpha, \beta)$ can beat two natural
heuristics, Greedy and Uniform, on \emph{both} fairness and profit.
