Patent ID: 8504295

Claim:
A computer-implemented method comprising: identifying, using a processing device, a cancellation of a person's participation in an assigned carpool; identifying whether the assigned carpool still includes a driver and at least one passenger after removing the cancelled person from the carpool; responsive to the assigned carpool still including the driver and at least one passenger: removing the cancelled person from the carpool; and sending a notification to the driver informing the driver of the cancellation; responsive to the assigned carpool no longer including the driver: checking an availability of other drivers in a carpool system to pickup at least one of the passengers; responsive to an availability of an other driver to pickup at least one of the passengers: assigning the other available driver to the at least one respective passenger; calculating an estimated time the assigned driver will pickup each of the assigned passengers based on a predetermined departure time of the assigned driver and a location of each assigned passenger; sending a notification to the assigned driver to pickup each assigned passenger at the respective estimated time; sending a notification to each assigned passenger that the assigned driver will pick them up at the respective estimated time; responsive to no availability of the other drivers to pickup at least one of the passengers, sending a notification to those passengers who can not be picked up that their carpool assignment has been cancelled; responsive to the assigned carpool no longer including the at least one passenger: identifying at least one passenger seeking a carpool assignment in the carpool system; calculating for each identified passenger seeking the carpool assignment, an estimated time the driver will pickup the respective passenger based on the predetermined departure time of the assigned driver and a location of the respective passenger; designating those passengers seeking the carpool assignments as eligible for carpooling with the driver, responsive to the calculated estimated time the driver will pickup those passengers occurring within a pickup time window provided by those passengers; assigning the driver to a passenger designated as eligible for carpooling with the driver; sending a notification to the driver to pickup the assigned eligible passenger at the respective estimated time; and sending a notification to the assigned eligible passenger that the assigned driver will pick up the assigned eligible passenger at the respective estimated time.