A system that uses real-time information from a variety of sources to coordinate
meetings between parties. For example, the system may be deployed to coordinate
meetings between customers and representatives of a company that delivers products
or services to customers at many, possibly dynamically determined locations. It
may also coordinate meetings between independent parties, such as mutual friends
traveling to a meeting point to be determined, or realtors from several realty
offices and their collective customers on a busy day. The system manages communications
between the meeting parties and accounts for the objectives and constraints of
each party to generate an efficient schedule for one or both parties. For example,
the system accounts for the service provider's fleet logistics, uncertainty in
service times and variability of travel times on the road, and it dynamically schedules
the fleet of vehicles and the customers' appointment times to realize an efficient
operation that is satisfying to the customers. The system may designate the times
and/or locations of meetings, which it coordinates through one or more of a variety
of communications means. Also, dynamically updated data from a variety of sources
may cause the system to reschedule meetings. For example, unexpected road network
traffic congestion resulting in delays may cause the system to rearrange meetings
scheduled later in the day. The system is capable of handling future uncertainty
through the use of schedule time windows and/or meeting regions which become more
precise as the schedule uncertainty lessens over time.