function assign_driver(order, available_drivers):
   return argmin(available_drivers, key=lambda d: eta(d.location, order.pickup))


 function batch_orders(pending_orders, driver_route):
   return [order for order in pending_orders if fits_on_route(order, driver_route,
 max_detour)]
