Patent Publication Number: US-2005131774-A1

Title: Single courier model for the delivery of goods ordered by the internat

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
      This application is a division of Ser. No. 09/758,943 filed 10 Jan. 2001 as a continuation-in-part of U.S. patent application entitled “System and Method for Facilitating Receipt and Collection of Goods Ordered from Online Retailers”, Ser. No. 09/729,148, filed Dec. 1, 2000 and relates to U.S. patent application entitled “Courier Independent System and Method for the Delivery of Goods Ordered by the Internet”, filed Jan. 10, 200, Ser. No. 09/758,942, all of which are hereby incorporated by reference. 
    
    
     FIELD OF THE INVENTION  
      This invention relates to the field of e-commerce. In particular, the invention relates to network systems for facilitating the delivery of goods ordered from online retailers.  
     DESCRIPTION OF THE RELATED ART  
      Prior to the advent of web-based retailing, customers have typically purchased goods through store-based retailing or by contacting a vendor via telephone or mail. They may go to a retail store and conduct the purchase through a sales assistant store-based retailing, or conduct the purchase over the telephone by calling the vendor directly—this is usually in response to seeing the product in a vendor&#39;s catalog or seeing an advertisement for the product on the television, radio or other medium this is-called catalog-based retailing.  
      Recently, a third approach to retailing has evolved: buying goods over the internet. Customers select their goods from the choke available on a vendor&#39;s web page. Payment is conducted typically with a credit card, which is authorized at the point-of-purchase. This retail approach is referred to as “etailing”, vendors using the etailing model are referred to as “etailers”.  
      Etailing has a number of advantages over both store-based retailing and catalog-based retailing. However, a key challenge for etailers is getting the goods to the customer in a way that is cheap and convenient. Catalog-based retailers have always faced a similar challenge, which is one of the main reasons why the growth of catalog-based retailing has been curtailed. So if etailers are to fulfill their potential, they need to address the problems with the current delivery infrastructure.  
      There are two problem areas with the current delivery infrastructure: cost and convenience. Each of these problems will now be discussed.  
      Delivering individual packages to individual customers&#39;s homes is an inefficient process compared to delivering whole batches of products to retail stores. This inefficiency is compounded further by the fact that customers are often not in to receive the delivery. Understandably, it is difficult for delivery companies to give a specific time when a customer&#39;s package will be delivered in fact, they could give specific times but this would make the system even more inefficient and therefore increase the cost even further. But it is equally understandable that customers are unwilling to wait in for a vaguely-specified time period often spanning several days to take receipt of their package.  
      The result is that the delivery company either leaves the parcel outside the customer&#39;s home which is clearly a security risk as it invites theft, or leaves a note explaining that they tried to deliver the package but the customer was not in; the delivery company will either try to deliver the package again or will ask the customer to collect it form the delivery company&#39;s depot between certain times which is inconvenient for the customer and inefficient for the delivery company.  
      In summary, the current process is inconvenient and inefficient. It is inconvenient for customers because they either have to try to wait in for the delivery which could mean waiting in for several days or go to the delivery depot at a certain time. It is inefficient for delivery companies because delivering single packages to individual customers&#39; homes is more expensive than delivering multiple packages to retail stores, and because customers are often not in to receive their deliveries. The delivery companies&#39; inefficiencies result in increased costs, which result in increased delivery fees. This limits further the appeal to customers of buying goods from an etailer.  
      Some customers have responded to this situation by arranging for goods purchased from etailers to be delivered to their employer&#39;s office. This approach has a number of problems, probably the most pertinent of which is that employers&#39; office systems are not equipped to cope with handling their employees&#39; shopping. Consequently, employers are becoming increasingly reluctant to allow their employees to deliver personal shopping to their place of work.  
     SUMMARY OF THE INVENTION  
      The invention provides a method and apparatus to implement and operate a network of automated collection points, or ACPs. The automated collection points facilitate the delivery of goods to a customer. In particular, the invention allows customers, delivery agents, or retailers to arrange for the delivery of goods ordered from a retailer to an automated collection point which can be accessed by a customer.  
      An automated collection point comprises a bank of electronically operated lockers. The lockers may vary in size, and may be positioned indoors or outdoors. The ACP may include different type of interfaces, such as barcode readers, smart card readers, biometric scanners, or keypads.  
      The automated collection point is connected via a network medium to a collection of one or more servers referred to as a Locker Management System. A Locker Management System (LMS) may control two or more automated collection points. These automated collection points may be located at separate geographical locations.  
      In embodiments of the invention, rather than specifying home or work as the ship-to address, customers or etailers may arrange for goods to be shipped to a local ACP. In some embodiments, each package is assigned a unique numeric ID. When a package is delivered to an ACP site, it is identified to an interface on the ACP by it package ID. In some embodiments, the package ID may be embedded in the ACP site address on the ship-to label on the package. In some embodiments, the package ID may be encoded as a bar code on a label on the package—this bar code may be scanned on a bar code scanning interface coupled to the automated collection point. In other embodiments, the package ID may be transmitted wirelessly to a detector coupled to the automated collection point. In yet another embodiment, the package ID maybe typed into a keyboard in communication with the automated collection point. Upon validating the package ID, the automated collection point will open to permit access, so that the package may be placed into an appropriately-sized secure locker.  
      In embodiments of the invention, upon receipt of the package by the automated collection point, the customer will automatically be sent a message containing notification of the delivery. The message may include a numeric code for opening the locker. In embodiments of the invention, this code will only work when used in conjunction with a pre-determined customer PIN.  
      In embodiments of the invention, the customer will come to the ACP site to collect their goods. In alternative embodiments, the ACP may be affixed to the customer&#39;s residence. In embodiments of the invention, the ACP interface may prompt the customer to enter their collection code followed by their PIN. The collection code and PIN will be validated by the ACP site and the server computers used to manage the network of ACPs. If the validation is successful, the locker containing the customer&#39;s goods will open.  
      Embodiments of the invention include a method of arranging delivery of an item ordered from the Internet to a automated collection point by selecting one of a number of couriers. Such embodiments involve selecting a courier amongst a plurality of couriers. The plurality of couriers may be stored in a database accessible by the e tailer, either locally or remotely. The courier may be selected on the basis of price. In embodiments, the user is sent a plurality of prices for delivering the item to the collection point by the plurality of couriers. In some such embodiments, the system then selects the courier with the lowest price. The system may also determine whether or not couriers listed in the database deliver to the requested automated collection point.  
      In some embodiments, a string identifier may be sent from the e tailer to the customer via the web client. The string identifier may indicate an identifier for the courier; it embodiments, it may indicate a password for entry to the locker in the automated collection point. In some embodiments, the string identifier may be dynamically generated.  
    
    
     BRIEF DESCRIPTION OF THE FIGURES  
       FIG. 1  is an entity-relationship diagram illustrating process employed for arranging the delivery of goods purchased from an e-tailer according to embodiments of the invention.  
       FIG. 2  illustrates a network architecture for a central server used to arrange the delivery of commercial goods purchased from e-tailers in embodiments of the invention.  
       FIG. 3  illustrates an client side architecture used by e-tailers to interface with the central server according to embodiments of the invention.  
       FIG. 4  schematically illustrates client interfaces used by customers to access the central server according to embodiments of the invention.  
       FIG. 5  illustrates a user interface for an automated collection point used in an embodiment of the invention.  
       FIG. 6  illustrates a client interface used by delivery companies to access the central server in embodiments of the invention.  
       FIG. 7  illustrates a client interface used by hosts of the automated collection points to access the central server according to embodiments of the invention.  
       FIG. 8  is a flowchart for a customer registration process used in embodiments of the invention.  
       FIGS. 9, 9   a  includes flowchart for a process for scheduling the delivery of goods according to embodiments of the invention.  
       FIGS. 10, 10   a ,  10   b  includes flowcharts illustrating processes for delivering goods to an automated collection point according to embodiments of the invention.  
       FIGS. 11, 11   a  illustrates flowcharts for processes involved in collecting goods.  
       FIGS. 12, 12   a  includes a flowchart for a collection expiry process used in embodiments of the invention.  
       FIGS. 13, 14  illustrates a partner settlement procedure according to embodiments of the invention.  
       FIG. 15  illustrates a process for automated closing of the door of an automated collection point according to embodiments of the invention.  
       FIG. 16  illustrates a process for delivery company registration with the central server according to embodiments of the invention.  
       FIG. 17  illustrates a process for registering a host for an automated collection point according to embodiments of the invention.  
       FIG. 18  illustrates a process for registering e-tailers with a central server according to embodiments of the invention.  
       FIG. 19  illustrates a system architecture with multiple courier servers.  
       FIG. 20  illustrates an address determination procedure for multiple courier embodiments.  
       FIG. 21  illustrates a delivery fee calculation procedure for multiple courier embodiments.  
       FIG. 22  illustrates a procedure for formatting shipping pages in multiple courier embodiments.  
       FIG. 23  illustrates a customer registration procedure used in multiple courier embodiments.  
       FIG. 24  illustrates a dynamic fee calculation procedure used in multiple courier embodiments.  
       FIG. 25  illustrates a ship order procedure used in multiple courier embodiments.  
       FIG. 26  illustrates a settlement procedure used in multiple courier embodiments.  
       FIG. 27  illustrates a system parameters procedure used in multiple courier embodiments.  
       FIG. 28  illustrates a schedule delivery procedure used in multiple courier embodiments.  
       FIG. 29  illustrates a redirect: home to CP procedure used in multiple courier embodiments.  
       FIG. 30  illustrates a system architecture in single courier embodiments.  
       FIG. 31  illustrates an address determination procedure used in single courier embodiments.  
       FIG. 32  illustrates a delivery fee calculation procedure used in single courier embodiments.  
       FIG. 33  illustrates a format shipping page procedure used in single courier embodiments.  
       FIG. 34  illustrates a customer registration procedure used in single courier embodiments.  
       FIG. 35  illustrates a dynamic fee calculation procedure used in single courier embodiments.  
       FIG. 36  illustrates a ship order procedure used in single courier embodiments.  
       FIG. 37  illustrates a settlement procedure used in single courier embodiments.  
       FIG. 38  illustrates a system parameters procedure used in single courier embodiments.  
       FIG. 39  illustrates a schedule delivery procedure used in single courier embodiments.  
       FIG. 40  illustrates a redirect: home to CP procedure used in single courier embodiments.  
    
    
     DETAILED DESCRIPTION  
      A. System Architecture  
      Embodiments of the invention include a computer network architecture for a locker management system used to operate one or more automated collection points. Each of the automated collection points comprises one or more lockers located at a site. The automated collection points provide an interface for validating the delivery of goods to the site. The processes employed in delivering goods to customers are schematically illustrated in  FIG. 1 . Each of the automated collection points is also coupled to the locker management system, which enables validation of packages arriving at the automated collection points.  
      A network architecture for the locker management system is illustrated in  FIGS. 2-4 ,  6 . The architecture includes one or more of the following components: 
          1. Internet Service Provider ISP  1004 .     2. Leased Line  1001 .     3. Web Server  1010      4. Application Server  1040      5. ACP Server  1070      6. Firewalls  1002  and  1030      7. Router  1003  and Ethernet network cabling     8. Hub  1099      9. Communication connection between the ACP Sites and ACP Server. In an embodiment of the invention, the communication connection may be a VSAT Connection  1098      10. ACP Site  900      11. Host Interface Device  1110      12. Host Communication Device  1103 .     13. Etailer Interface Device  301   FIG. 3      14. Etailer Integration Device  310   FIG. 3      15. Customer Interface Device  1201   FIG. 4      16. Customer Message Device  1205   FIG. 4      17. Delivery Company Interface Device  801   FIG. 6         

      The ISP  1004  provides connectivity between the ACP system and the Internet. This connectivity is established by connecting the Web Server  1010  to the ISP  1004  through the Leased Line  1001  connected to a Router  1003 . The Router  1003  is connected to the Hub  1099  via a Firewall  1002 . The Web Server  1010  may be connected to the other servers in the ACP system using a CAT5 coaxial cable connection to the Ethernet Hub  1099 . The Web Server  1010  hosts the web sites and performs the web processing required in the ACP system. The Web Server  1010  only communicates with the Application Server  1040  and other servers on the Internet via the ISP  1004 ; it does not communicate directly with the ACP Server  1070 —this is conducted through the Application Server  1040 .  
      The Application Server  1040  also connects to the other servers through a CAT5 coaxial cable connection to the Ethernet Hub  1099 , via a Firewall  1030 . The Application Server  1040  performs most of the business logic in the ACP system. It works with the Web Server  1010  and ACP Server  1070  to send and receive information to users of the ACP System. The users are customers, etailers, delivery companies and ACP site hosts.  
      The ACP Server  1070  is the gateway through to the ACP sites. It is connected to the other servers through a CAT5 coaxial cable connection to the Hub  1099 , and to the ACP Sites via a connection medium that supports Internet Protocol IP communication. In an embodiment of the invention, this connectivity may be through a VSAT Connection  1098 . The ACP Server communicates only with the Application Server  1040  and the ACP Sites  900 , it does not communicate directly with the Web Server  1010 —this is conducted through the Application Server  1070  via the Hub  1099 .  
      The ACP Site  900  is the actual bank of lockers to which customers&#39; packages are delivered. The ACP Sites  900  communicate only with the ACP Server  1070 . This communication can be conducted using any communication medium that supports IP. In the first implementation of this invention, this connectivity will be through a Communications Socket  1104  which will be a PES connector which will enable connectivity to the VSAT Connection  1098  at the ACP Server  1070 .  
      Delivery companies relate to the system in two ways. First, their delivery personnel actually perform the delivery of the packages to the ACP Sites  900 . This activity is conducted through the ACP Site  900  interface, which may comprise one or more of an LCD Screen  951 , A Keypad  952 , a series of Buttons  953  and a Barcode Reader  954  ( FIG. 5 ). Secondly, the delivery company can view the information on deliveries made by their delivery personnel using the Delivery Company Interface  801 . This is typically a web browser running on a PC owned by the delivery company. The delivery company will have access, through its web browser, to a dedicated part of the ACP system&#39;s Web Server  1010 .  
      Hosts have a communications capability into which the ACP Sites are connected. As explained above, this communications capability can be anything that supports IP which, in the first implementation of this invention, will be a VSAT network. The host must therefore install a PES socket at the host site. The ACP Site i.e. the bank of lockers will connect to this PES socket.  
      Hosts are also able to connect to the ACP system to view information about deliveries made to the ACP Site  900  that they are hosting. This connection is done through a Host Interface Device  1110  ( FIG. 7 ) which connects to the ACP system through the Web Server  1010 . This Host Interface Device  1110  will typically be a web browser running on a standard PC owned by the host. The host will have access, through its web browser, to a dedicated part of the ACP system&#39;s Web Server  1010 .  
      Etailers that are integrated into the ACP system do so through a connection to the ACP Server  1040 . This is established through an Integration Device  310  residing on the etailer&#39;s system. This integration Device  310  will typically be a computer program supplied as part of this invention, which runs on an etailer&#39;s server computer provided by the etailer. Etailers are also able to interface with the ACP system to view information about their relationship with the ACP system and past orders. This interface is conducted through the Interface Device  301 , which will typically be a web browser running on a PC owned by the etailer. The etailer will have access, through its web browser, to a dedicated part of the ACP system&#39;s Web Server  1010 .  
      Customers interface with the ACP system using an Interface Device  1201  owned by the customer. This will typically be a web browser running on a PC. The ACP system sends messages to customers using a Message Device owned by the customer. This will typically be an email account, cellular phone or pager.  
      Detail of Each Part of the System Architecture  
      The system architecture for a first embodiment of the apparatus and method of the present invention is illustrated in  FIGS. 2 through 7 . In a preferred embodiment, the apparatus of the present invention comprises Central Servers  1000  which connects to ACP Site  900 , Host  1100 , Customer  1200 , Delivery Company  800  and Etailer  700 . The system architecture for each of these components will now be discussed.  
      Central Servers  1000   
       FIG. 2  illustrates the Central Servers  1000 , which comprise a Web Server  1010 , Application Server  1040  and ACP Server  1070 . In a preferred embodiment of this invention, each server will physically reside on its own dedicated machine. A conventional server with sufficient storage, memory and processing capability will be sufficient for each of these machines.  
      Central servers connect to each other over an internal 10/100 Ethernet network. Each server has a conventional Ethernet Network Interface Card NIC, which is connected to an Ethernet Hub  1099  using standard Category 5 CAT5 cable.  
      At a high-level, the Web Server  1010  controls the interface between the World Wide Web and the Application Server  1040 , the Application Server  1040  performs the business logic, and the ACP Server  1070  controls the interaction with the ACP sites  900 . The detailed role of each server will now be discussed.  
      Web Server  1010   
      The purpose of Web Server  1010  is to host the web sites that are used to manage the flow of information between other Central Servers  1000  and external devices used by other participants in the process. These participants are Customers  1200 ,Host  1100 , Delivery Companies  800 , and Etailers  700 . The Web Server  1010  has only a minimal amount of business logic—its main role is to provide an interface to the data and business logic of the Application Server  1040 .  
      Web Server  1010  is connected to the Internet. This connection can be arranged with any standard Internet Service Provider ISP  1004  and will include a Leased Line  1001 . The Leased Line  1001  is a physical connection between the Web Server  1010  and the ISP&#39;s  1004  server. The Leased Line  1001  terminates at the server room of the Central Servers  1000  through a communications socket which feeds into a Router  1003 . The Router  1003  can be any commercial router compatible with the configuration of the Leased Line  1001 . In the first implementation of this invention, a Cisco 804 router will be used for this purpose. Other equivalents will be apparent to those skilled in the art.  
      The speed requirements for the Leased Line  1001  will depend on the volume of traffic going between Customers&#39;  1200  Interface Devices  1201  and Web Server  1010 . In a first installation of this invention, a 256 kpbs leased line will be sufficient.  
      A Firewall  1002  should be installed between the Web Server  1010  and the Leased Line  1001 . The purpose of the Firewall  1002  is to protect the Web Server  1010  and therefore all Central Servers from unwanted intrusions via the Internet. As a minimum, the firewall is configured to allow traffic through on ports “443” Secure System Layer and “80” web traffic. Other ports maybe allowed if remote monitoring by system support personnel is required. Similarly, the Web Server  1010  it configured to listen on ports “443” and “80”, along with any other ports required for remote support.  
      A second Firewall  1030  should be installed between the Web Server  1010  and the Ethernet Hub  1099 . This is to provide further protection to the Application Server  1040  and the ACP Server  1070  should an intruder manage to break through the first Firewall  1002 . Firewall  1030  is also used by Application Server  1040  when making external connections not via the Web Server  1010 .  
      The Web Server&#39;s  1010  Application Software  1011  is a set of computer programs. The scope of these computer programs is restricted to displaying information on web pages, receiving and validating responses from users customers, delivery companies, administrators, etailers and hosts and passing these responses down to the Application Server  1040  via the Firewall  1030 . The Applications Server&#39;s  1040  responses will be fed back up to the Web Server  1010  via the Firewall  1030 . The appropriate Application Software  1011  will manage the displaying of the response on the web site.  
      The Application Software  1011  computer programs can be coded in any language or combination of languages that is capable of displaying web pages on the World Wide Web and that can communicate, through Firewall  1030 , with the Application Server  1040 .  
      In an implementation of this invention, the computer programs may be coded in HTML with a combination of static graphics, such as JPEG files, as well as animated graphics, such as animated GIFs. These computer programs are organised into five sets of modules: Customer Interface  1012 , Etailer Interface  1013 , Delivery Company Interface  1014 , Site Host Interface  1015  and Administration Interface  1016 .  
      Customer Interface  1012  manages the web-based interaction between customers who are arranging for goods to be delivered to an ACP site. The functionality of the Customer Interface  1012  will be to display the information described in REGISTER  100  ( FIG. 8 ) and SCHEDULE DELIVERY  200  ( FIGS. 9, 9A ). Customer Interface  1012  will also provide the interface through which customers can change their details specified in REGISTER  100 , as well as displaying information about previous deliveries, such as date of delivery and collection code.  
      Etailer Interface  1013  enables registered etailers to access and analyse information about goods that were delivered from them to an ACP site resulting from a customer purchase. This information will be browse only. Delivery Company Interface  1014  enables registered delivery companies to access and analyse information about goods that were delivered by them to an ACP site. This information will be browse only. Site Host Interface  1015  enables ACP site hosts to access and analyse information about goods that were delivered to their ACP sites. This information will be browse only.  
      Administrator Interface  1016  will be used by ACP support personnel to administrator the ACP infrastructure. Tasks include adding and deleting site hosts and accessing customer details. The Administrator Interface  1016  will allow information to be accessed in browse, add, change and delete modes, depending on the security profile of the user.  
      In order to interface with the Web Server&#39;s  1010  hardware, the Application Software  1011  requires some System Software  1017 . Specifically, an Operating System  1018  it installed on the Web Server  1010 . This can be a conventional server operating system. The main stipulation is that a compiler for this operating system must exist for the language in which the Web Server&#39;s  1010  Application Software  1011  is coded. In the first implementation of this invention, Microsoft&#39;s Windows NT operating system will be used.  
      Web Server  1010  will have a conventional hard-disk ( 1023 ) magnetic or optical Storage Device  1022  arranged in a Random Array of Inexpensive Disks RAID configuration. No business data will be stored on this unit—all business data will be stored on the storage unit of the Application Server  1040 . The only data that will be stored on the storage device of the Web Server  1010  will be the Operating System  1018  and the Application Software  1011 .  
      Description of the Application Server  1040   
      The role of the Application Server is to process the information received from the Web Server  1010  and from the ACP Server  1070 . Users cannot interface directly with the Application Server  1040 ; rather, users access the application server  1040  via the Web Server  1010 . Like the Web Server  1010 , the Application Server  1040  has an Application Software layer. This Application Software is a set of computer programs. These programs can be coded in any language or combination of languages that supports interfacing with the Web Server  1010  via the Firewall  1030 . The programming language also support interfacing with a Relational Database Management System RDBMS,  1050 . In the first implementation of this invention, the Application Software  1041  programming language will be Microsoft&#39;s Visual Basic with some C++ extensions.  
      The Application Software computer programs are organised into five sets of modules: Customer Processing  1042 , Etailer Processing  1043 , Delivery Company Processing  1044 , Host Processing  1045  and Administration Processing  1046 .  
      Customer Processing  1042  provides the customer-related business logic to support the REGISTER  100 , SCHEDULE DELIVERY  200  and COLLECTION  400  processes. The Customer Process  1042  also contains the logic to maintain customer&#39;details through the customer Interface  1012 .  
      Etailer Processing  1043  provides the etailer-related business logic to support the SCHEDULE DELIVERY  200  and PARTNER SETTLEMENT  600  ( FIG. 13 ) processes, as well as the database access and data manipulation for the Etailer Interface  1013 .  
      Delivery Company Processing  1044  provides the delivery company-related business logic to support the DELIVER  300  ( FIG. 10 ) and PARTNER SETTLEMENT  600  processes, as well as the database access and data manipulation for the Delivery Company Interface  1014 .  
      Host Processing  1045  provides the host-related business logic to support the PARTNER SETTLEMENT  600  process, as well as the database access and data manipulation for the Site Host Interface  1014 .  
      Unlike the Web Server  1010 , the Application Server  1040  requires a Database  1050  to store business data. Any commercial Relational Database Management System RDBMS  1051  should be sufficient for this purpose, although an ODBC compliant database is preferred. The first implementation of this invention uses Microsoft&#39;s SQL Server RDBMS.  
      This business data stored on the RDBMS  1051  can be grouped into six databases: Customers  1052 , Etailers  1053 , Delivery Companies  1054 , Hosts  1055  and Orders  1056 .  
      Customers  1052  holds information about customers that was initially captured during the REGISTER  100  process. This information includes name, email-address and contact telephone number, as well the customer&#39;s lists of preferred ACP sites.  
      Etailers  1053  holds information about registered etailers. This includes the details of the etailer&#39;s financial arrangement within the ACP process.  
      Delivery Companies  1054  holds information about registered delivery companies. This includes the details of the delivery company&#39;s financial arrangement within the ACP process.  
      Host  1055  holds information about ACP site hosts. This includes the site&#39;s address as well as the details of the site host&#39;s financial arrangement within the ACP process.  
      Order  1056  holds information on every order that is processed through an ACP site. Details include the date of delivery, the parcel ID, the collection code, the customer, the etailer if registered, the delivery company if registered and the site host.  
      The Application Server  1040  needs to communicate with other devices outside the Central Servers  1000  network, but not via the Web Server. These processes includes the Embedded Etailer Link  1048 , the Customer Messaging  1049  and the Financial Settlement  1047 . To protect the Central Servers  1000 , this communication is conducted via a firewall. The Firewall  1030  can be used for this purpose, shared with the Web Server  1010 .  
      The embedded Etailer Link  1048  is a computer program provided by the ACP service to registered etailers. The Embedded Etailer Link  1048  is integrated into the Etailer&#39;s web site and is invoked by the customer by pressing the button on the Etailer&#39;s site that is associated with the Embedded Etailer Link  1048 . The Embedded Etailer Link  1048  controls the communication between the registered etailer&#39;s site and the Application Server  1040 . This supports the SCHEDULE DELIVERY  200  process for registered etailers.  
      The Customer Messaging Link  1049  manages the communication between the Application Server  1040  and the customer. The Customer Messaging Link  1049  currently supports communicating via email, text-to-voice over standard telephone or cell phone, and text messaging using Short Message Service SMS on cell phones. Customers can choose over which medium they would like to be communicated during the DELIVER  300  process ( FIG. 10 ) sending customers their collection codes when their goods are delivered, and COLLECTION EXPIRY  500  process ( FIG. 12 ) reminding customers to collection their goods and inform them when their order has expired.  
      As well as enabling access to information, the Etailer Processing  1043 , Delivery Company Processing  1044  and Host Processing  1045  modules manage the financial relationships between all parties in the ACP network. Settling the financial positions requires access to third-party servers outside the Central Servers  1000  network. Also, taking payments from customers for late collection COLLECT  400  process ( FIGS. 11, 11A ) requires access to third-party networks such as the VISA credit card clearing network. Access to all external financial networks is managed by the Financial Settlement Link  1047 .  
      To run the Application Software on the Application Server  1040 , some System Software  1060  it installed on the Application Server  1040 . This System Software  1060  includes an Operating System  1061 , as well as any other system monitoring or performance tuning software required to maintain and support the Application Server.  
      The Operating System  1061  can be any commercial server operating system, providing a compiler is available for the language in which the Application Software is written. In the first implementation of this invention, the Operating System  1081  to be installed on the ACP Server  1070  will be Microsoft&#39;s Windows NT.  
      The Processing Unit  1065  will contain conventional processing apparatus including A Central Processing Unit CPU  1066  and Memory  1067 —both Random Access Memory RAM and Read Only Memory ROM.  
      The Storage Device  1068  will be conventional Hard Disk  1069  magnetic or optical storage units arrange in a Random Array of Inexpensive Disks RAID configuration, or other secondary storage systems apparent to those skilled in the art.  
      The Application Server could be spit into three separate servers: an Application Server to run the Application Software a Database Server dedicated to running the RDBMS  1051 , and a File Server dedicated to serving any files that may be required to administer the service for example, word processing documents or spreadsheets. The Application Server should have a fast processor and average amount of RAM. The Database Server should have a fast processor, a lot of RAM, and a RAID array of hard-disks with enough capacity to hold all the business information. The File Server should have an average processor with a lot of RAM. Subsequent implementations of this invention might take this approach, which should result in faster performance at high volumes.  
      The ACP Server  1070   
      The ACP Server  1070  manages the communication between ACP Site  900  and the Application Server  1040 . The ACP Server has an Application Software  1071  layer. The Application Software  1071  contains the Locker Management System  1072 . The Locker Management System  1072  responds to messages from Application Server  1040  and the ACP Sites  900  to perform the functions specified in DELIVER  300  ( FIGS. 10, 10A ,  10 B), COLLECT  400  ( FIGS. 11, 11A ) and COLLECTION EXPIRY  500  ( FIG. 12 ).  
      All communication is asynchronous between the ACP Server  1070  and the Application Server  1040 , and the ACP Server and the ACP Sites  900 . This is to ensure that the entire ACP system can continue to function for a reasonable period in the event of a communication breakdown. For example, if a communication failure occurred between the ACP Server  1070  and the ACP sites  900 , then the ACP Sites  900  would still be able to perform the DELIVER  300  and COLLECT  400  processes. The messages would simply be stored at the ACP Site  900  and would be re-sent automatically one the communication had been re-established. If the communication were synchronous which it isn&#39;t then the ACP Site  900  would be out of action until the communication problem had been fixed.  
      Unlike the Application Server  1040 , the Locker Management Systems has a series of screens which are used to monitor and maintain the ACP Sites  900 . As well as responding reactively to requests from Application Server  1040  and ACP Sites  900 , the Locker Management System  1072  routinely conducts proactive checks on each ACP Site  900 . The status of each ACP Site  900  down to the level of individual Lockers  970  ( FIG. 5 ) is established and a warning is displayed on the Locker Management System  1072  screen to alert support personnel of the problem.  
      The Locker Management System  1072  can be coded in any programming language that supports communication with the Application Server  1040 , the ACP Sites  900  and the ACP Server&#39;s  1070  RDBMS  1076 . In the first implementation of this invention, the Locker Management System will be programmed in Java.  
      The ACP Server  1070  requires a Database  1075 . The Database  1075  will be an RDBMS  1076  and can be any commercial RDBMS that is able to communicate with the Locker Management System  1072 . In the first implementation of this invention, the Database  1075  will be built using Microsoft&#39;s SQL Server RDBMS product.  
      The data stored on the RDBMS  1076  can be grouped into Locker Details and Pending Messages, Locker Details stores information on the configuration of all ACP Sites  900 . Pending Messages contains information on deliveries or collections. These messages are from both the ACP Sites  900  and the Application Server  1040  that are destined for each other. The messages are only deleted from the Database  1075  once the ACP Server  1070  has confirmation of receipt from the target server.  
      To run the Application Software  1071  on the ACP Server  1070 , some System Software  1080  installed on the ACP Server  1070 . This System Software  1080  includes an Operating System  1081 , as well as any other system monitoring or performance tuning software required to maintain and support the ACP Server  1070 . The Operating System  1081  can be any commercial server operating system, providing a compiler is available for the language in which the Locker Management System  1072  is written. In the first implementation of this invention, the Operating System  1081  to be installed on the ACP Server  1070  may be Microsoft&#39;s Windows NT™. Other suitable operating system will be apparent to those skilled in the art.  
      The Processing Unit  1085  will contain conventional processing apparatus including a Central Processing Unit CPU  1086  and Memory—both Random Access Memory RAM and Read Only Memory ROM  1087 .  
      The Storage Device  1090  will be conventional Hard Disk  1091  magnetic or optical storage units arranged in a Random Array of Inexpensive Disks RAID configuration.  
      The ACP Server  1070  connects directly to the Ethernet Hub  1099  using standard CAT5 cable. However, the ACP Server  1070  connects remotely to the ACP Sites  900 , because the distance between the ACP Sites  900  and the ACP Server  1070  is too far to implement a direct connection. The physical communication medium used to connect the ACP Server  1070  with the ACP Sites  900  can be anything that supports the TCP/IP protocol. In the first implementation of this invention, the communication medium will be 2-way VSAT. Other communication media will be apparent to those skilled in the art.  
      The VSAT connectivity may be implemented by connecting the Hub  1099  to a VSAT Connection  1098 . The ACP Serve will send messages via the Hub  1099  over the VSAT network to the ACP Sites  900 .  
      The communication between the ACP Server  1070  and the ACP Sites  900  does not have to be point-to-point. Instead, the communication could be conducted over the Internet via a connection between the ACP Sites  900  and an Internet Service Provider ISP. The ACP Sites  900  could simply use a modern and a Plain Old Telephone System POTS connection to dial-up the ISP.  
      B. Description of the Etailer  700   
      In the context of this invention, an Etailer  700  ( FIG. 3 ) is a company that sells products through an online medium rather than through a physical store. In an embodiment of the invention, there are two types of Etailers: registered and non-registered. Registered Etailers  700  have a relationship with the ACP network and integrate directly with the Application Server  1040 ; non-registered Etailers have no relationship with the ACP network.  
      Non-registered Etailers do not require any apparatus to participate in the ACP network because their Customers  1200  may perform the ACP processing, as illustrated by a decision point  202  in the SCHEDULE DELIVERY  200  process illustrated in  FIG. 9 .  
      Registered Etailers  700  employ an Interface Device  301  ( FIG. 3 ) to view information on orders sent by them to ACP Sites  900 . In an embodiment of the invention, the Interface Device  301  may be a Web Browser  302  running on a conventional PC or server. This Web Browser will be used to access the ACP web site hosted on Web Server  1010  to view the Etailer&#39;s  700  information. Other embodiments of this invention may support interfacing through other web-enabled devices such as cellular phones, personal organizers, televisions and radios.  
      Registered Etailers  700  also employ an Integration Device  310 . This Integration Device will host the Embedded Etailer link  1048  ( FIG. 2 ) that integrates the Etailer  700  with the Application Server  1040 .  
      C. Description of the Customer  1200   
      In the context of this invention, a Customer  1200  is a person who buys goods from an etailer. However, embodiments of this invention also support use by customers who purchase goods from mail order companies.  
      To use the ACP network, a customer employs an Interface Device  1201  and a Message Device  1205  ( FIG. 4 ). The Interface Device  1201  is used by the Customer  1200  to access the Web Server  1010 . This interaction is illustrated by the flowcharts for the REGISTER  100  process in  FIG. 8  and SCHEDULE DELIVERY  200  process in  FIG. 9 . In an embodiment of this invention, the Interface Device  1201  may be a Web Browser  1202  running on a conventional personal computer PC. This Web Browser will be used to access the ACP web site hosted on Web Server  1010  to perform the REGISTER  100  and SCHEDULE DELIVERY  200  functions. Other embodiments of this invention may support interfacing through other web-enabled devices such as cellular phones, personal organizers, televisions and radios.  
      The Message Device  1205  is used by the Application Server  1040  to send messages to Customers  1200 . This process is illustrated in the DELIVER  300  function in FIGS.  10   10   a    10   b  and the COLLECTION EXPIRY  500  function in  FIG. 12 . In an embodiment of the invention, this Message Device can be either a conventional Email  1207  account or a Cellular Phone  1206  that supports a Short Message Service SMS.  
      D. Description of the ACP Site  900   FIG. 5   
      The ACP Site  900  is a bank of Lockers  970 , situated inside or outside a Host&#39;s  1100  building. The Lockers  970  are in a range of sizes. The Lockers  970  are managed by a central console  901 . In embodiments of the invention, the central console or “L100”  901  has a user interface which may include one or more of the following: an LCD screen  951 , a series of metal Buttons  953  to the left and right of the screen, an electronic numeric Keypad  952  and a Barcode Reader  954 . The lockers are operated entirely electronically using the Buttons  953 , the Keypad  952  and the Barcode Reader  954 ; no mechanical keys are involved. The central console may also have the ability to integrate with a credit card reader, cash receiver, or a printer. In some embodiments, the device does not include a keypad.  
      The Lockers  970  are locked and unlocked using electronic locking devices which respond to signals from the Processing Unit  918 . The locking devices can be any door-locking devices capable of being controlled electronically by a CPU.  
      The Processing Unit  918  contains a motherboard with a CPU  919  and memory. The CPU  919  can be any CPU capable of being programmed to operate the locking devices and communicate with the Locker Management System  1072 . In an embodiment of this invention, the Motorola 6088 processor will be used. Other embodiments will be apparent to those skilled in the art.  
      In embodiments of the invention, two types of memory are employed: Read Only Memory ROM  920  and Random Access RAM  921 . ROM  920  stores the System Software  915  and Application Software  912 , but cannot be modified by the System Software  915  or Application Software  912 . So in addition to ROM  920 , some RAM  921  is used by the System Software  915  and Application Software  912  to store details of locker status and store messages received from the Locker Management System  1072 . Solid state memory i.e. RAM is preferred to a hard-disk or any other storage device containing moving parts. This is because the ACP Site will be in unattended as well as attended situations which may result in the ACP Site being jostled: moving-part storage could malfunction in this environment.  
      The data stored in RAM  921  can be grouped into three areas: Locker Status  933 , Order Details  934  and Delivery Company Details  935 . Locker Status  933  contains the current status of each Locker  970 . Order Details  934  contains collection code and PIN information. Delivery Company Details contains details of delivery companies such as logon ID who are registered to use the ACP Site  900 .  
      The Locker Management System  1072  performs frequent checks on each central console  901  to determine the status of its Lockers  970 . These checks are performed every few seconds. In the event of a central console  901  crash, when the central console  901  is re-booted it will re-establish its connection to the Locker Management System. However, re-booting the central console  901  will result in losing the contents of its RAM  921 . The central console  901  will therefore ask the Locker Management System  1072  to re-populate its RAM  921  with the contents at the time of re-boot.  
      Application Software  912  is required to control the central console  901 . The Application Software  912  is called central console Software  913 . The CENTRAL CONSOLE Software  913  is a collection of computer programs. The computer programs can be written in any language or collection of languages capable of running on an Operating System  916  that contains an Internet Protocol IP stack. In the first implementation of this invention, Micro Ware&#39;s OS/9 operating system will be used. Other equivalents will be apparent to those skilled in the art. The functional requirements of the CENTRAL CONSOLE Software  913  are detailed in the DELIVER  300 , COLLECT  400  and COLLECTION EXPIRY  500  processes.  
      The CENTRAL CONSOLE  901  also contains a Network Interface Card NIC  921 . This NIC  921  can be any 10/100 Ethernet NIC. The NIC is required to establish connectivity with the Locker Management System  1072 . This connectivity can be conducted using any medium that supports the TCP/IP protocols. An implementation of this invention may be conducted using 2-way VSAT. The NIC  921  that comes out of the CENTRAL CONSOLE  901  will be connected to a standard VSAT PES connector  1104  residing at the host ACP Site  900 .  
      The communication between the Locker Management System  1072  and the central console  901  could also be conducted over the Internet via a connection between the ACP Sites  900  and an Internet Service Provider ISP. The ACP Sites  900  could simply use a modem and a Plain Old Telephone System POTS connection to dial-up the ISP.  
      E. Description of the Delivery Company  800   
      In the context of this invention, A Delivery Company  800 , as illustrated in  FIG. 6 , is a company that delivers parcels from Etailers  700  to Customers  1200 . This invention involves Delivery Companies  800  delivering to an ACP Site  900  rather than to a Customer  1200 . No apparatus is required for the Delivery Company  800  to operate the ACP Site  900  refer to Delivery  300  ( FIGS. 10, 10A ,  10 B) for an explanation of this process.  
      In embodiments of the invention, the Delivery Company  800  is able to view information about the deliveries they have performed refer to Delivery Company Interface  1014  in Central Servers  1000  ( FIG. 2 ). To do this, the Delivery Company requires an Interface Device  801 . In the first implementation of this invention, the Interface Device  801  it a Web Browser  802  running on a conventional PC. This Web Browser will be used to access the ACP web site hosted on Web Server  1010  to view the Delivery Company&#39;s  800  information. Embodiments of this invention may support interfacing through other web-enabled devices such as cellular phones, personal organizers, televisions and radios.  
      F. Description of the Host  1100   
      In the context of this invention, a Host  1100 , as illustrated in  FIG. 7 , is an organization that places an ACP Site  900  either inside its building or outside. If the ACP Site  900  is outside, it will be surrounded with a protective shell.  
      The only apparatus required by the Host  1100  is a Communications Device  1103  to enable the central console  901  to communicate with the Locker Management System  1072  ( FIG. 2 ). In an embodiment of this invention, this Communications Device  1103  may be a VSAT PED  1104 .  
      The Host  1100  will also require an Interface Device  1110  if it would like to access the information about the deliveries made to its ACP site  900 —see Host Interface  1015  ( FIG. 2 ) for details of this information. In an embodiment of this invention, the Interface Device  1110  may be a Web Browser  1111  running on a conventional PC or server. This Web Browser  1111  will be used to access the ACP web site hosted on Web Server  1010  to view the Host&#39;s  1100  information. Future embodiments of this invention will support interfacing though other web-enabled devices such as cellular phones, personal organizers, televisions and radios.  
      G. Process Flow of the Invention  
       FIG. 8  illustrates a flowchart for a process flow in the present invention, in which delivery of remotely purchased goods is scheduled and made to any one of a network of Automated Collection Points ACPs, with the Central Servers  1000   s  managing the process. The Customer  1200  first Registers  100  for the service by logging on the web server and providing contact details. In embodiments of the invention, these contact details may include a Personal Identification Number PIN. At some subsequent time the Customer  1200  then buys goods from an Etailer  700 . When asked for the delivery address the Customer  1200  then Schedule a Delivery  200  ( FIGS. 9, 9A ) at their preferred ACP Site  900 ; the Central Servers  1000  assigns the goods a unique Package ID. The goods are then Delivered  300  ( FIGS. 10, 10A ,  10 E) to the ACP Site  900  and put into a secure locker by the deliverer using the Package ID. Once the door is shut the ACP contacts the Central Servers  1000   s , which then contacts the Customer  1200  telling them that their goods have arrived and giving them a Collection Code for that order. At his own convenience the Customer  1200  then visits the ACP Site  900  and Collects his Goods  400  ( FIGS. 11, 11A ) from the locker using his PIN and the Collection Code associated with the package. At the end of every month the Central Servers  1000  analyses all deliveries and arrange for monetary settlement to take place between all involved parties in Partner Settlement  600  ( FIGS. 13, 14 ).  
      List of Processes of the Invention  
                                   Process   Description                  Register 100   How customers register with the ACP system       Schedule Delivery   How customers arrange for a purchase to be delivered to an ACP       200   site       Deliver Goods 300   How the deliverer interfaces with the ACP site to put the           customer&#39;s purchase into an available locker, as well as how           customers are informed that their purchase is ready for collection       Collect Goods 400   How customers interface with the ACP site to collect their           purchases       Collection Expiry   What happens when customers do not collect their purchases from       500, 530   the ACP site for the pre-defined time period       Partner Settlement   How payments are administered between etailers, hosts and       600   delivery companies       Close Doors 1300   How open lockers can be shut and locked       Delivery Company   How delivery companies register with the ACP system       Registration 1400       ACP Host   How ACP hosts register with the ACP system       Registration 1500       Etailer   How etailers register with the ACP system       Registration 1600                  
 
 H. Descriptions of the Processes of the Invention 
 
 Note: some of the Figures that are referenced in the following process flow descriptions make reference to the web site “ByBox.com”. This is an example name for the web site that is hosted by the Web server  1010 ; it is simply easier for the reader to give the web site an example name than to keep referring to it as “the ACP web site”. 
 
      Register  100   
      With reference to  FIG. 8  there is described the process by which the Customer  1200  registers. At step  101  the Customer  1200  establishes a connection to the Application Server using a Customer  1200  modem. In one embodiment the Central Servers  1000 , has a page on the world wide web and access to the Application Server is through a dedicated web server. In such an embodiment the Customer  1200  provides information through the interface of conventional web browser software such as Microsoft Internet Explorer™. At step  102  the Customer  1200  provides details to register for the service. These include email address, phone numbers including cellular and home address. Email is the primary communication medium for the service and at step  103  the email address is validated to check for correct syntax. At step  104  the Customer  1200  is prompted to add a correct address if his original entry is invalid.  
      Once all the Customer  1200 &#39;s contact details have been entered successfully step  105  prompts the Customer  1200  to create a password for future access to their account data. This it a minimum of eight characters long. If ( 106 ) an invalid password is entered step  107  prompts the Customer  1200  to re-enter. Step  108  then asks the Customer  1200  to specify their preferred communication method. As soon as goods are delivered to the ACP Site  900  and put in a locker the Central Servers  1000  sends a message to the Customer  1200  informing them that their goods have arrived. The communication channel used for this message is selected using the Customer  1200 &#39;s preference: email, telephone, post. Step  109  then prompts the Customer  1200  to build a list of preferred ACP Site  900   s . After comparing must elect preferred ACP site  900   s . Step  110  then asks the Customer  1200  to specify a Personal Identification Number PIN. This is a four character numeric string that is used to identify the Customer  1200 , as opposed to their package, as part of the Collect Goods process  400 .  
      One all details have been added and validated, step  111  updates the Customer  1200 &#39;s account on the Application Server, assigns a Customer  1200  ID and writes a cookie to the Customer  1200 &#39;s device providing a fast link to the Customer  1200 &#39;s details on the Application Server.  
      As soon as the Customer  1200  has registered for the service he is able to order goods online and specify an ACP Site  900  as the delivery address. The Schedule Delivery process  200  describes how a Customer  1200  uses the Application Server to arrange delivery to the prescribed ACP Site  900  using the Etailer  700  web-site. There are two discrete paths available based on whether the Etailer  700  provides access to the Application Server from their web-site. In cases where such a link exists the Etailer  700  is referred to as registered; where no such link exists they are described as non-registered.  
      Schedule Delivery  200   
       FIG. 9  describes how a registered Customer  1200  can schedule a delivery to an ACP Site  900 . To make use of the service the Customer  1200  must first order goods from an Etailer  700 . At step  201  the Customer  1200  goes to the Etailer  700  site and selects the goods required. As part of the purchase transaction the Etailer  700  will ask the Customer  1200  to specify ( 203 ) the address to which the goods should be delivered. If ( 202 ) the Etailer  700  is registered there will be a button on the delivery address page of the Etailer  700  site that will link directly to the Application Server. At step  204  the Customer  1200  presses this button and at step  205  a program embedded in the Etailer  700  site, executes and looks for the cookie written to the Customer  1200 &#39;s device as part of Register  100 . In step  206  if no cookie is found the customer  1200  is taken ( 207 ) to the service&#39;s main web-page where they are asked to log-in, using their email address and password, or Register  100 . If ( 208 ) the Customer  1200  logs-in successfully the cookie is re-written to their device. If they register for the first time, a new cookie is written as described in Register  10 . If the Customer  1200  does not register or log-in they are taken back to the Etailer  700  site where they are able to specify a non-ACP delivery address.  
      At step  209  the Customer  1200  will have a cookie on their device containing their Customer  1200  ID. The executing program now looks up the Customer  1200 &#39;s account on the Application Server using this Customer  1200  ID and finds their ACP Site  900  preferences, set-up as part of Register  100 . In step  210  the Customer  1200  is asked to select the ACP Site  900  for this delivery from his list of preferences. Once a site is chosen the Application Server then generates a Parcel ID unique to this particular delivery ( 211 ). If ( 212 ) the Etailer  700  has specified bar-code extraction as part of Etailer  700  Registration  1600  ( FIG. 18 ), then, at step  213 , the tracking number, generated by delivery company software at the Etailer  700  site, is converted into a bar-code and added to the package label. Then the address field on the Etailer  700  site is completed with the ACP Site  900  address, Package ID and text identifying the package as bar-code enabled. At step  214 , if the Etailer  700  cannot process bar-code encryption the parcel ID is printed as a numeric string as part of the delivery address.  
      Once the delivery address is complete the Customer  1200  completes the purchase transaction at step  215 . Once the order is validated by the Etailer  700 , a message is sent ( 216 ) to the Application Server confirming that an order was placed for that Parcel ID and giving further details relating to that order: Etailer  700  ID, from Etailer  700  Registration  1600 , the number of items in the order and the time and date of the order timestamp. The message is used by the Application Server to determine which Parcel IDs represent confirmed deliveries; if the Customer  1200  selects an ACP Site  900  but then cancels the purchase transaction then a Parcel ID would be generated but not used.  
      If ( 227 ) the Etailer  700  is not bar-code enabled this completes the Schedule Delivery process. The numeric Parcel ID is not downloaded to the CENTRAL CONSOLE and there is not exact validation of the Parcel ID when a delivery is made. Instead check-digit validation is used to provide rudimentary validation. However, for bar-coded deliveries the Etailer  700  must pass bar-code details back to the Application Server so that they can be passed on the CENTRAL CONSOLE for validation on delivery. In steps  228  and  229  the Etailer  700  collates the bar-code with the Parcel ID, ACP address and ACP Site  900  ID for the order and then sends this to the Application Server in step  230 . This process is completed every 30 minutes, with orders being batched together. In step  231  the Application Server then sends the bar-code and associated Parcel ID to the ACP server which then uses the site ID to identify the relevant ACP site  900  and then download ( 232 ) the bar-code and Parcel ID to the local CENTRAL CONSOLE. At this point the ACP Site  900  is ready to receive that delivery.  
      If the Etailer  700  is non-registered there will be no integration between their site and the Central Servers  1000 . As a result the selection of the appropriate ACP Site  900  together with the generation of the Parcel ID it done independently from the Etailer  700  web-site. In step  217  the Customer  1200  goes to the service&#39;s home-page on the world wide web and clicks on the ‘use service’ button. In step  218  the Customer  1200 &#39;s device is searched for the cookie written as part of the Register  100  process. If a cookie is found the Customer  1200  goes directly to step  221 . Otherwise, if no cookie is found, the Customer  1200  is asked to either Register  100  or log-on using their email address and password. If the Customer  1200  logs-on the cookie is re-written to their device as art of step  219 . If ( 220 ) the Customer  1200  completes the Register  100  process a new cookie is written to their device.  
      In step  221  the Application Server looks up the Customer  1200 &#39;s ACP Site  900  preferences using their Customer  1200  ID retrieved from the cookie. In step  222  the Customer  1200  selects the ACP Site  900  preferred for this delivery and then in step  223  the Application Server generates a Parcel ID unique to that delivery. In steps  224  and  225  the Customer  1200  copies the ACP Site  900  address and the Parcel ID into the address field of the Etailer  700 &#39;s delivery page and completes the purchase transaction ( 226 ).  
      Delivery Goods  300   
      Once goods have been ordered they it dispatched to the ACP Site  900  ready for collection by the Customer  1200 .  FIG. 10  describes this process.  
      After the Customer  1200  has completed the purchase transaction the Etailer  700  packages the goods ( 301 ) and labels with the ACP Site  900  address and Parcel ID. Using their own, or a third party, delivery company the goods are then dispatched to the ACP Site  900  in step  302 .  
      When at the ACP with the package the deliverer approaches ( 303 ) the screen of the CENTRAL CONSOLE where he is first asked to identify himself in step  304 . If, as part of Delivery Company Registration  1400 , his company has elected to use bar-code identification the deliverer can present his membership card to the bar-code reader; otherwise he enters his Delivery Company ID using the numeric keypad. In step  305  the CENTRAL CONSOLE validates the Delivery Company ID against its locally held database of valid codes. If the code is valid ( 306 ) the CENTRAL CONSOLE proceeds to step  308  and displays the Delivery Main Menu, otherwise the delivery is refused in step  307  and the CENTRAL CONSOLE prompts the deliverer to enter a valid code.  
      At step  308  the deliverer is presented with four options: ‘delivery’, ‘expiry’, ‘close doors’ and ‘exist’. To make a delivery he selects ‘delivery’ and the CENTRAL CONSOLE then prompts him ( 309 ) to either enter the Parcel ID for the package or present the bar-code for scanning. If ( 310 ) the package address contains text telling the deliverer that the package is bar-code enabled he will then present the package to the bar-code reader of the CENTRAL CONSOLE in step  315 . If the package is not bar-code enabled, or ( 316 ) the bar-code reader is unable to read the bar-code the deliverer is prompted, in step  311 , to enter the Parcel ID using the keypad. At step  317 , if ( 312 ,  313 ) the Parcel ID entered is invalid the CENTRAL CONSOLE informs the deliverer and re-displays the Delivery Main Menu.  
      Once a valid bar-code or Parcel ID is entered the CENTRAL CONSOLE opens the smallest available locker ( 314 ) and prompts the deliverer to place the goods inside ( 319 ). In step  320  the CENTRAL CONSOLE checks to see if the door to the locker has been closed. If it has the CENTRAL CONSOLE automatically locks the door ( 321 ) and asks the deliverer if the delivery was successful in step  326 . If the locker door is still open and more than 30 seconds have elapsed since the door was opened ( 322 ) the CENTRAL CONSOLE beeps and the screen flashes for 10 seconds, prompting the deliver to close the door ( 323 ). If the door is still open ( 324 ) at the end of this 10 seconds the CENTRAL CONSOLE sends ( 325 ) an urgent, failed delivery message to the Application Server, via the LSM, and logs the deliverer out of the system.  
      At step  326  if the deliverer confirms that the delivery was successful the CENTRAL CONSOLE returns ( 329 ) to the delivery main menu. If the deliverer presses the ‘no’ key the CENTRAL CONSOLE asks ( 327 ) if the door was shut by mistake. If it was then the CENTRAL CONSOLE re-opens the door in step  328 . If the door was not shut in error the CENTRAL CONSOLE asks if the locker is dirty or damaged in steps  343  and  345 . If it is the CENTRAL CONSOLE sends ( 344 ) an appropriate message to the LSM which forwards it on to the Application Server. The CENTRAL CONSOLE then looks for another appropriately sized locker in step  351 . If ( 352 ) it finds an available locker it opens the door and prompts the deliverer to put the goods inside ( 354 ). If no locker is available ( 353 ) the delivery is refused, a message informs the deliverer that there is no space and a message is sent to the Application Server, via the LSM.  
      If the locker is clean and undamaged the CENTRAL CONSOLE asks the deliverer ( 346 ) if the locker is too small for the package. If it is the CENTRAL CONSOLE looks for an available locker of the next size up ( 348 ). If ( 349 ) the next size up is available it opens the locker door and asks the deliverer to put the package inside. If the maximum size has been reached ( 350 ) and the package has still not been delivered, because it is too big or because there is no availability, the delivery is refused and a message is sent to the Application Server via the LSM. Once a delivery has been successfully made the delivery main menu is displayed by the CENTRAL CONSOLE and the deliverer is free to continue with any other deliveries for that site or log-out.  
      To complete the delivery process the CENTRAL CONSOLE must inform the Application Server that a delivery has been made so that the Customer  1200  can be contacted. If ( 330 ) the package was processed with a bar-code the Parcel ID has not been entered and therefore it retrieved from the Application Server in steps  331 ,  332 ,  335 . If an associated Parcel ID is not found the LSM logs the delivery as incomplete ( 333 ) and an error message is sent to the Application Server. Once the Parcel ID is present the CENTRAL CONSOLE invokes an asynchronous process, in step  334 , to generate a Collection Code and send it to the Customer  1200 .  
      At steps  336  and  337  the CENTRAL CONSOLE generates the Collection Code and sends it, via the LSM, together with the Delivery Company ID and the Parcel ID to the Application Server, which then uses the Parcel ID to determine which Customer  1200  this package is for ( 338 ). In step  339  the Application Server sends the Collection Code to the Customer  1200 , using their preferred channel as set-up in Register  100 , together with a message informing them that their goods have arrived and reminding them where and how to collect them. The delivery company is referenced using the Delivery Company ID and a message is sent ( 340 ) informing them that the package has arrived.  
      At step  341  and  342  the Application Server sends the CENTRAL CONSOLE, via the LSM, the Customer  1200 &#39;s PIN together with the Parcel ID. At this point the CENTRAL CONSOLE is ready for the Customer  1200  to collect their goods.  
      Collect Goods  400   
       FIG. 11  describes how the Customer  1200  retrieves his goods from the locker. Once the Customer  1200  has received the message with the Collection Code he is free to retrieve his goods at his own convenience. When he approaches ( 401 ) the ACP Site  900 , the CENTRAL CONSOLE prompts him for his Collection Code in step  402 . Once the Collection Code is entered ( 403 ) the CENTRAL CONSOLE validates it against its orders database in step  404 . If ( 405 ) the code is invalid an error message is displayed and the Customer  1200  is prompted to re-enter the code ( 406 ). If a valid code is entered the CENTRAL CONSOLE then asks the Customer  1200  to enter their PIN, in step  407 , and validates the entry in step  408 . If ( 409 ) an invalid PIN is entered the CENTRAL CONSOLE displays an error message ( 410 ) and asks ( 411 ) the Customer  1200  if they want to re-enter the PIN re-issued. If they want to re-enter, the CENTRAL CONSOLE re-displays the PIN entry screen at step  407 . If the Customer  1200  request a re-issue of the PIN ( 412 ,  413 ) they are informed that they cannot collect their goods at that time and that their PIN will be re-sent immediately. In steps  414  and  415  the CENTRAL CONSOLE sends the Collection Code back to the Application Server, via the LSM, and asks the Application Server to re-issue the Customer  1200 &#39;s PIN. Using the Collection Code, the Application Server looks up the Customer  1200 &#39;s details ( 416 ) and re-issues the PIN using the Customer  1200 &#39;s preferred delivery channel in steps  417  and  418 .  
      If a valid PIN is entered in step  409  the CENTRAL CONSOLE checks ( 419 ) if the Customer  1200  owes any money for rental of the locker. Depending on the business model implemented the Customer  1200  may pay for storage in part or completely. If money is owed the CENTRAL CONSOLE proceeds in step  420  to calculate the amount due based on an algorithm stored locally. In this embodiment payment can only be made using a pre-paid card bought with cash from the retail Host  1100 . In future embodiments payment will be possible using credit and debit cards.  
      Once the CENTRAL CONSOLE has displayed the amount due the Customer  1200  makes payment, in step  421 , by presenting his prepaid card to the bar-code reader. The CENTRAL CONSOLE reads the bar-code and looks up ( 422 ) the amount available for that card on its local database. In steps  423 ,  425 , the CENTRAL CONSOLE determines if there is sufficient credit available. If so the CENTRAL CONSOLE asks the LSM to update the new card balance on all other sites ( 427 ) and proceeds in steps  428  and  429  to open the door to the locker containing the Customer  1200 &#39;s goods. If there is insufficient credit ( 424 ,  426 ) the CENTRAL CONSOLE reduces the balance on the card to zero, communicates this new balance to all other sites via the CENTRAL CONSOLE and informs the Customer  1200  that they must charge their card with more money before they can retrieve their goods.  
      At step  429  the appropriate locker door is opened and the Customer  1200  retrieves their goods in step  430 . At step  431  the CENTRAL CONSOLE checks to see if the Customer  1200  has closed the locker door. If he has the CENTRAL CONSOLE immediately locks it in step  433 . The Customer  1200 &#39;s Collection Code for that package is kept active on the CENTRAL CONSOLE database for a further 5 minutes in case the Customer  1200  has shut the door in error ( 434 ). This may happen for a variety of reasons: for example the Customer  1200  may be distracted before collecting their goods and inadvertently close the door. Once 5 minutes has elapsed the Customer  1200  Code and PIN combination is deleted from the CENTRAL CONSOLE&#39;s order database ( 435 ) and the CENTRAL CONSOLE marks the locker as available for delivery ( 436 ). If the locker door is not shut 30 seconds after it is opened it remains open until the next delivery is made ( 432 ).  
      Collection Expiry  500 ,  530   
      The Customer  1200  is given a fixed period to collect their goods once they have been delivered to an ACP Site  900 . This period comprises a free collection time and a chargeable extension. If when this combined period has ended the goods have not been retrieved they are sent back to the Etailer  700 .  FIG. 12  describes this collection expiry process.  
      As part of its daily processing routine, the Application Server identifies all deliveries that are within 24 hours of the end of the free collection time ( 501 ) and sends each Customer  1200  a message ( 502 ), via their preferred communication channel, warning them that they will be liable to a charge if their goods are not collected within the next day. At step  503  the Application Server checks to see, for each delivery identified in step  502 , if the Customer  1200  has retrieved the goods. If they haven&#39;t ( 504 ) the LSM marks the order as overdue and applies a fee every day for the remainder of the chargeable extension period or until the Customer  1200  collects their goods, whichever is the sooner. If ( 505 ) the Customer  1200  collects their goods before the end of the chargeable extension period they must pay the overdue amount before the appropriate locker door is opened ( 506 ), as described in Collect Goods  400 .  
      When the chargeable extension ends the CENTRAL CONSOLE marks the Parcel ID of that package as expired on its orders database ( 507 ) and send a message to the Application Server via the LSM ( 508 ). In step  509  the Application Server looks up the Customer  1200 &#39;s account based on the Parcel ID and sends a message to the Customer  1200 , via their preferred channel, telling them that their order has expired and will be sent back to the Etailer  700 . As part of its daily processing routine the Application Server produces a list of all expired Parcel IDs by ACP Site  900  ( 510 ) and sends notification to the relevant delivery companies that return collections are required ( 511 ).  
      In step  512  the deliverer approaches the CENTRAL CONSOLE at the ACP Site  900  containing and expired order and logs-on to the CENTRAL CONSOLE in the normal way, as described in Deliver Goods  300 . From the delivery main menu, the deliverer selects ‘expiry’ ( 513 ). At step  514  the CENTRAL CONSOLE prompts the deliverer to enter the Parcel ID of the first expired order to be collected. In steps  515  and  516  this code is entered by the deliverer and validated by the CENTRAL CONSOLE against its order database containing expired orders. If ( 517 ) the code is invalid the deliverer is asked to re-enter the code or log-out of the system ( 518 ,  519 ). If a valid code is entered the CENTRAL CONSOLE opens the appropriate locker door in step  520  and the deliverer retrieves the expired order from the locker in step  521 .  
      At step  522  the CENTRAL CONSOLE checks if the locker door has been closed. If it has the door is immediately locked and a timer set ( 524 ). The Parcel ID for that expired order is kept valid for a further 5 minutes in case the deliverer has made a mistake and has left the goods in the locker ( 525 ). At the end of this period the CENTRAL CONSOLE deletes the Parcel ID from its orders database ( 526 ) and marks the locker as available for delivery in step  527 . If, at step  522 , the deliverer has not shut the door and fails to do so within 30 seconds of the door being opened, the door is left unlocked and available ( 523 ).  
      Partner Settlement  600   
      The method and apparatus of the present invention introduces efficiencies into the system for residential deliveries. These efficiencies are made possible through the integration of the present invention with order systems of Etailer  700   s  and the use of retail space of ACP Host  1100   s .  FIG. 13  and  FIG. 14  describe the process of settlement between these commercial partners.  FIG. 13  describes this process for Etailer  700   s ;  FIG. 14  describes this process for ACP Site  900  Host  1100   s.    
      At the end of every calendar month the Application Server analyses all deliveries made to an ACP Site  900  by Customer 1200   s  of registered Etailer  700   s . A charge is calculated ( 601 ) for each Etailer  700 , based on this analysis and an invoice dispatched, in step  602 , payable in 30 days. At step  603  the Application Server checks if the invoice has been paid. If it hasn&#39;t the payment is classified as late ( 604 ) and in step  605  the Etailer  700  is contacted to chase-up the debt. Depending on the response in step  606 , the Etailer  700  is either suspended from the system ( 607 ) or further chase-up is requested.  
      At the end of every calendar month the Application Server analyses all deliveries made to every ACP site  900  of a Host  1100  partner ( 651 ,  652 ). A charge is calculated, for each ACP Host  1100 , based on this analysis ( 653 ) and an invoice dispatched, in step  654 , payable in 30 days. At step  655  the Application Server checks if the invoice has been paid. If it hasn&#39;t the payment is classified as late ( 656 ) and in step  657  the ACP Host  1100  is contacted to chase-up the debt. Depending on the response in step  658 , the ACP Host  1100  is either suspended from the system ( 659 ) or further chase-up is requested.  
      Close Doors  1300   
      As part of both the Deliver  300  and Collect Goods  400  processes there are occasions when the locker doors will be left open as part of normal business. This is untidy and leaves the lockers liable to be damaged or dirtied. To mitigate this risk the deliverer will attempt to close any open doors when he visits the site to make a delivery of collection.  
      In step  1300  the deliverer logs-on to the CENTRAL CONSOLE in the normal way, as described in Delivery Goods  300 . From the delivery main menu, the deliverer selects ‘close doors’ ( 1302 ). At step  1303  the CENTRAL CONSOLE asks for the number of the doors which need to be closed and locked. The deliverer enters the door numbers in step  1304  and in step  1305  the CENTRAL CONSOLE sets each door to lockable mode and prompts the deliverer to close the selected door. As soon as each door is closed the CENTRAL CONSOLE locks it ( 1306 ).  
      Delivery Company Registration  1400   
      Validation of delivery men is an essential requirement of both the Deliver Goods  300  and Collection Expiry  500  processes. To enable validation delivery companies must first register with the service. This process is described in  FIG. 16 .  
      At step  1401  a new delivery company account is established on the application server and a unique Delivery Company ID is generated ( 1405 ). If the delivery company requires individual accounts to be established for each of their delivery men ( 1402 ) this is completed in step  1403 . Similarly if delivery companies want to integrate the Delivery Company ID into their systems via bar-code reading ( 1404 ) this is done in step  1406 .  
      Once a new delivery company has been added the new Delivery Company IDs it downloaded ( 1407 ) to the CENTRAL CONSOLE at each ACP Site  900 .  
      ACP Host Registration  1500   
      To facilitate Partner Settlement  600  and to uniquely identify each ACP Site  900  it is important to establish an account for each ACP Host  1100 . Steps  1501  and  1502  complete this process by establishing a unique account number on the application server for each Host  1100  together with unique IDs for each ACP Site  900 . Once these IDs have been generated they are downloaded to the CENTRAL CONSOLE at each ACP Site  900  in  1503 .  
      Etailer  700  Registration  1600   
      To facilitate Partner Settlement  600  and Collection Expiry  500  the application server it able to identify each separate Etailer  700 . At step  1601  an account is established for each new Etailer  700  and a unique ID is generated. If ( 1602 ) the Etailer  700  is able to provide bar-coded labels this is recorded in the application server at step  1603 .  
      I. Courier Independent Delivery Model  
       FIG. 19  illustrates a computer network architecture employed in embodiments of the invention which support courier independence. In such embodiments, the user employing a web browser  2010  or alternatively the e-tailer  2008  may select one of many possible couriers  2002   2004   2006  to deliver an item ordered from an e tailer to a desired collection point. Processes employed to support such embodiments are illustrated in  FIGS. 20-29 .  
       FIG. 20  illustrates a process for determining an address for delivery of the ordered item. The customer interfacing with the e-tailer  2008  via the browser  2010  may provide a delivery address  2102 , which is then checked for validity  2103 . In embodiments, cookies located on the web browser  2010  may be searched for a collection point  2110 . Alternatively, a central database may be queried to determine a collection point which can accommodate the item, or package  2111 .  
      A process for calculating delivery fees is illustrated in  FIG. 21 . The package weight, size, and ship-from-address are determined from the e tailer  2008  server  2201 . In embodiments of the invention, for each courier and each level of service available from that courier, a fee is determined  2205 - 2210 . In some embodiments, all of this information is presented to the customer on the web browser  2010 , so that the customer may select shipping options via a form on the browser  2010 . In alternative embodiments, the cheapest rate for a desired service/address combination is selected  2212 . Other alternative rate selection schemes facilitated by such embodiments will be apparent to those skilled in the art.  
      In embodiments of the invention illustrated in  FIG. 22 , a shipping page is generated  2213  for posting on the web browser  2010 . In some such options, the customer is presented with a rate grid with a price and courier for each service/address combination  2301 . Upon completion on all purchases  2307  from the etailer  2008 , the process of shipping the order commences  2310 .  
       FIG. 23  illustrates a process for registering  2306  a customer&#39;s collection point preferences and personal contact information. The customer is asked for contact information, including e-mail address  2401 . The e-mail message may be checked for validity  2402 . The customer may be asked to create a password for accessing lockers in the collection point  2404 . This password may also be checked for validity  2405 , and the procedure may be repeated  2406  until a valid password is set and confirmed  2407 . Collection points available to the customer may be calculated  2412 , and upon the customer&#39;s selection, one such collection point may be chosen as a default  2413 . Cookies containing the customer&#39;s preferences may be written  2409   2415  to the customer&#39;s browser  2010 .  
      The invention includes techniques for applying discounts for the delivery of multiple items. Embodiments for calculating such fees dynamically  2207  are illustrated in  FIG. 24 . In one such embodiment, a grid of possible delivery dates for the item may be presented to the customer/user  2501 . In some such embodiments, a discount may be offered to the user for consolidating multiple pre-scheduled deliveries  2503   2505   2506   2507 . In some embodiments, a pro-rata discount may be available to the user  2510 . A delivery fee is ultimately tabulated  2513 .  
      In some embodiments of the invention, the etailer  2008  does not carry stock. This situation is typical of many if not most e tailers in operation as of the time of this writing. Such a situation is illustrated in  FIG. 25 . In such circumstances, the e tailer  2008  locates, receives, and packages the goods to be distributed  2601 . The order for the goods is received and a courier is identified  2603 . A tracking number is generated according to rules specific to the courier and a label may be printed with an address for the collection point and/or a bar-code tracking number  2604 . A locker at the collection point is reserved  2611  for delivery of the goods.  FIG. 26  illustrates a settlement procedure employed for sending the transaction conducted with the e tailer. The procedure loops through multiple transactions  2702   2703 , and sets the prices for each according to whether the scheduled shipping date agrees with the actual shipping date ( 2705 ,  2706 )—this determines whether the consolidated shipping fee or the full price for the appropriate collection point is assessed  2707 .  FIG. 27  illustrates a process for setting the initial parameters for tabulating discounts. If dynamic fee calculation is available  2801 , the appropriate binary parameter is set  2803 , and the parameter initialization proceeds to determine if the consolidation discount is available  2804 . If so, the appropriate binary parameter is set  2806 , and the procedure determines whether pro-rata consolidation  2807  is available, and sets the appropriate binary parameter accordingly  2809 .  
      A process for scheduling delivery of the goods to the collection point is illustrated in  FIG. 28 . The procedure determines that the collection point is automated  2902  and checks for availability of the collection point  2904 ,  2905 . If space is unavailable at the collection point, alternative collection points may be sought  2911   2912 , and home delivery options  2913  may be pursued.  FIG. 29  illustrates a process for delivering an item from a customer residence to an automated collection point; such procedures may be utilized in case a customer requests home delivery from an e tailer, but is unavailable for the actual delivery.  
      J. Single Courier Model  
      Embodiments of the invention presume a single courier will be used to deliver goods ordered from the e tailer to a collection point.  FIG. 30  illustrates a block diagram used in such embodiments. A customer is connected to the Internet via a web browser  3000  looking at an e-tailer web site. The e-tailer web server  3002  is connected to the courier&#39;s host server  3004 , referred to in the  FIG. 30  as the central server. A key part of this architecture is the seamless nature of this connection—the customer is unaware that processing is taking place outside the etailer web-site.  
      The e-tailer keeps accounts of its own customer records, orders and inventory. The courier&#39;s central server interfaces to the e-tailer web server and may keep account of its own customer records; list all the collection points; list pending deliveries to those collection points; contain shipping rates for deliveries to those collection points; and hold system parameters which are used in the delivery fee calculation.  
       FIG. 31 , labeled Address Determination, is a process flow diagram for determining the delivery address. The customer selects goods on an etailer site and proceeds to the checkout in the customary way  3101 . The e tailer then asks the customer to provide a delivery address for that particular order ( 3102 ). Once a valid address is established  3103 , the first interaction between the e-tailer server and the courier&#39;s central servers occurs. The procedure verifies whether the customer has already given a collection point address  3104 . If they have then  3105  the procedure checks that the collection point can handle the package size. This involves an interaction between the e-tailer server, which contains detailed inventory information, and the courier&#39;s central server which contains size restrictions for all collection point (this is particularly important for automated collection points where enclosures will have specific size limitations). If the goods fit then a fee for that delivery can be calculated  3108 .  
      If a collection point address isn&#39;t entered  3104 , which will be the normal situation for the majority of new customers who will simply put their own home address, then  3107  the courier&#39;s central server searches for a cookie on the customer&#39;s device which may contain collection point preferences. To use a collection point, customers are first registered and as part of the registration process any preferences they specify will be written to a cookie stored on their device. If default collection points are found within that cookie ( 3109 ) then the procedure  3110  determines if any of the collection points chosen can handle the package size.  
      If a customer isn&#39;t registered or hasn&#39;t specified defaults then the central servers are asked to calculate the nearest collection points to the delivery address specified by the customer. Furthermore, only collection points that can accommodate the given package are selected. ( 3111 .) The system  3112   3113  establishes the criteria for this search; system defaults specified by the courier are read  3112 ; defaults specified by the customer are also read  3113 . System defaults could include one or more of the following: a default search radius, a maximum number of collection points to return and a preference for automated over manned collection points. Customer defaults may include search radius and feature of the collection point such as: 24 hour accessibility, high security, indoors. Once these criteria are combined the database of collection points is queried  3114 . If the search is successful and a collection point(s) is found ( 3116 ) then processing moves to Delivery Fee Calculation  3115 . If the search is unsuccessful, then collection point processing ends  3117 . Thus, the purpose of Address Determination is to establish if there is a collection point of suitable size, near the customer&#39;s specified delivery address. And the next step is to calculate the fee associated with each of the collection points available.  
      Method of fee determination employed by embodiments of the invention differ substantially from fee calculations for residential deliveries. The sharing of a single delivery address across many customers introduces cost savings which can be passed onto customers through delivery fee discounts. Such discounts may arise, for instance, when two separate customers schedule deliveries to the same collection point on the same day.  
      Referring to  FIG. 32 , the package weight, size and the ship from address (i.e., the e-tailer&#39;s storage address) maybe read  3201  from the e-tailer server. Then the first collection point address is read in  3202 —there may be several addresses that need to be priced. The various services available for the first address are read in  3203 . Services relate to the time dimension of delivery: typically couriers offer a variety of services from next day through to one week, now such as 1 day, 2 day, or 3/7 days services.  
      The delivery fee calculation procedure  3204  checks whether dynamic fee calculations are allowed by the courier. Such a parameter gives couriers the opportunity to pass back cost savings to customers on a case-by-case basis. If the dynamic fee flag is set  3204 , then  3206  a shipping date is confirmed. A confirmed shipping date is a pre-requisite to any meaningful dynamic fee calculation—without such a date there is no way to determine when the goods will be delivered and therefore little point in trying to determine if there will be any savings that can be passed back to the customer. If a shipping date hasn&#39;t been confirmed by the e-tailer, then step  3208  calculates and stores the delivery fee for each level of service based on a static fee table (i.e., a table that doesn&#39;t change based on the specifics of that delivery). If however, if a shipping date is confirmed, then the processing moves on to Dynamic Fee Calculation  3205 . If this is the last collection point address  3209 , then processing moves on to Format Shipping Page  3210 ; if not the next address is read  3207  and the above steps are repeated. In summary, Delivery Fee Calculation determines the appropriate delivery fee for every possible collection point address and delivery service combination. In embodiments of the invention the output is a grid of charges plotted against two axes: timescale of delivery and delivery address,  
      Format Shipping Page  3210 , illustrated in  FIG. 33 , is responsible for presenting this grid of charges to the customer. The processing  3301  generates the grid described above. If the customer then selects a collection point for delivery  3303 , the system  3305  checks whether the customer is registered. By definition, packages delivered to a collection point will not be delivered to a customer&#39;s home address. Such a system introduces two new requirements to the delivery process: 1) the need to identify the customer—this can no longer be done using their home address; 2) the need to contact the customer to tell them that their goods have arrived at the collection point and are ready to collect. Both pieces of information are required before a delivery to a collection point can be sanctioned. Once the customer is registered  3306 ,  3308 , and they have completed the purchase  3307 , the order can be shipped.  
       FIG. 34  describes the Customer Registration Process  3306  in more detail. E-mail address and password are collected from the customer in steps  3401  through  3406 . The customer is given the opportunity to specify personal preferences  3407  which are written in a cookie to the customer&#39;s device. Options available, as mentioned above, may include preferred features of the collection point chosen such as: proximity to a car park, 24 hour accessibility, level of security, manned of automated. Other options will be apparent to those skilled in the art. As part of registration the customer is also asked  3408  to specify default collection point addresses. These might be near a customer&#39;s home, near their place of work or en route between the two. The system  3411  prompts the customer to enter their delivery address and proceeds  3412  to calculate the collection points in that area. The system  3413  then prompts the customer to select one or more as a default—to be used when calculating delivery fees. A customer may want to specify a number of defaults knowing that certain carriers offer dynamic fee calculation which may result in a price differential between sites for a given delivery. Once all preferences are recorded on the customer&#39;s cookie  3409 ,  3415  processing moves to Format Shipping Page  3414 ,  3410 .  
       FIG. 35  describes the Dynamic Fee Calculation process  3207 . It allows calculation  3513  of individual fees based on the particular of a customer&#39;s order. More precisely it allows the cost savings, associated with multiple customer sharing one address, to be passed on to those customers if a courier so wishes. The process  3501  builds a grid of possible delivery dates that are available, and then  3502  reads in the delivery dates for the first service provided by the courier. In the first key step, it checks whether the courier will allow discounts to be offered to the customer in the event that another delivery is already scheduled for that collection point on that day  3503 . Clearly, as many customers share one address it&#39;s highly possible that several deliveries may arrive at that address on a given day—hence the possibility of consolidation discounts. The numbers of existing deliveries scheduled for each date given is calculated  3505  and stored against that service in a temporary grid in memory.  
      If  3506  there are other deliveries scheduled on that day, then a further key check is made  3508  as to whether the courier will provide a pro rata consolidation discount. Once consolidation has been established the courier has two choices: 1) offer a fixed discount; 2) pro rata the discount based on the number of items delivered to that site on that day. In the current delivery system, where all items are sent to individual addresses (corporate or residential), if there were deliveries to five separate addresses then the courier would have a minimum of five trips—assuming all customer were in to accept delivery. Using this new model couriers are guaranteed to make one trip (collection points are always open to accept deliveries). So there is at least a five fold saving in such a scenario and its whether the courier decides to pass on additional discount based on that level of consolidation that it&#39;s checked for in  3508 . If they do, then in  3510  the day with the highest number of scheduled deliveries is calculated to allow the customer a maximum discount and  3511  a pro rate consolidation discount is calculated. If  3508  the pro rata is not allowed, then  3509  the consolidated discount is calculated based on a flat amount.  
      If the results of the query to the pending deliveries table reveals no scheduled deliveries to that collection point on any of the days available, then step  3507  looks up the standard fee to that site from the courier&#39;s rate database. This is different from the static database kept on the e-tailer server, simply because this allows the courier to update their rates for a particular collection point at their convenience. Then this loop is iterated again  3512 ,  3504  for the next service available until all service options have been exhausted.  
       FIG. 36  describes the Ship Order process. Once a purchase order is placed by the customer the etailer must locate the goods ready to be shipped. Often etailer do not have the goods in stock and they must be ordered from a supplier or another distribution center. Once the goods are received at the distribution warehouse they are packaged  3601 . Next a label is printed that includes the collection point address and a tracking number generated that can uniquely identify the package. The system  3602  looks up the customer order and determines the appropriate collection point address. The system  3603  then generates the tracking number by linking to the courier&#39;s central server. It then proceeds to the print the package label using the address and the bar-coded tracking number  3604 .  
      The system dispatches  3605  the goods and writes a transaction record to the settlement log  3606 . Simultaneously  3608  it checks to see if the destination collection point is automated. If so the tracking number is sent to the collection point memory  3610 , in preparation for delivery. Automated collection points only allow delivery of goods that are scheduled for that site. To perform the necessary validation the tracking numbers of all pending deliveries must be downloaded as soon as the goods are dispatched. Automated collection points allow the reservation of a particular enclosure  3611  for a specific delivery. If such a reservation is required then confirmation is sent to the collection point regarding when a package is dispatched.  
       FIG. 37  describes a standard settlement process, with one caveat. As was mentioned in Dynamic Fee Calculation, consolidation discounts can only be offered to the customer if a guarantee shipping date is known. If this shipping date was confirmed by the e-tailer but then subsequently not met, the system  3707  prevents the courier from loss of revenue by applying the full non-consolidated shipping fee to the etailer&#39;s account. Clearly, the customer still benefits from a consolidation discount, but the e-tailer is effectively punished for a delay in shipping the goods by being charged the difference between this figure and the full amount. The remainder of the steps in this process describe a standard loop for reading in transactions, summarizing them for each e-tailer and submitting an invoice.  
      There are a number of options available to the courier when calculating delivery fees.  FIG. 38  describes the setting of these flags. First  3801  the courier chooses whether to allow any dynamic calculation of fees. If they do then  3803  the dynamic fee flag is set to on. The courier is then given the option  3804  of going further and allowing discounts based on any consolidation. If they do then the consolidation flag is turned on in  3806 . Finally  3807  the courier is asked whether they would like to pro rata any consolidation discount awarded to the customer. If they do then the pro rata consolidation discount flag is turned on  3809 .  
       FIG. 39  describes processing that is another attribute of an automated collection point network: the ability to guarantee that a delivery person will never arrive at a full automated collection point. In step  3901  all deliveries scheduled for collection points for that day are read from the courier&#39;s central server and the first of these is read into memory  3902 . They system  3903  checks that the delivery is for an automated collection point—if it is not then no advanced availability checking is possible and the next delivery is read  3904 .  
      If the delivery is for an automated collection point then the system  3905  checks the availability of this site from the collection point table stored in the central server. If space is available in a suitably sized enclosure, the delivery is confirmed  3906  and the delivery window is passed to the logistics system of the central server. This step highlights a major benefit of automated collection points: the capacity to receive deliveries 24 hours a day and particularly at night.  
      If space is unavailable  3907 , the processing checks if this is the last available delivery date within the service commitment. If there are day remaining (e.g. the delivery was promised within 3 to 7 business days and it is only day 5) then the delivery is postponed  3908  and marked for review on the next available delivery day. If, however, it is the last permissible delivery date, then the customer&#39;s collection point preferences are read  3909  from the central server. Customers may elect to have goods delivered to an alternative collection point should their preferred site be full. Such instructions are established by the customer as part of registration. If  3910  the customer has given permission for an alternative site to be used then  3911  the availability of all collection points is checked within a five mile radius of the original collection point address.  
      If  3913  there is availability at a suitable alternative site then delivery is confirmed to this address and  3916 , the scheduling flexibility of this new site is confirmed to the carrier&#39;s routing and logistics system. If there isn&#39;t any availability at any collection point near the customer&#39;s home or if there are no alternative collection points, then the customer&#39;s account is read again  3912  to determine if they will allow home delivery. Clearly if a customer has arranged for goods to be delivered to a particular collection point and it&#39;s busy, it may be more convenient for the customer to receive the goods at home rather than experiencing a delay. If the customer has given permission for home delivery, then confirmation is sent  3914  to the courier&#39;s routing system that delivery should be made to the customer&#39;s home address. If customers have not specified home delivery as an alternative option, then a customer contact is scheduled arranged  3915  and the delivery is postponed until the next delivery day. This process is repeated  3917  until all collection point transactions for that day have been processed  3918 .  
       FIG. 40  describes another unique facet of a collection point network—the ability to redirect a residential delivery to a collection point in the event that the customer is not in to sign for the goods. More specifically this process allows the delivery man to determine immediately if there is availability at a nearby collection point and facilities the automatic recalculation of the most economic route that includes this new address.  
      Once the delivery man has determined  31001  that the customer is not in to receive the goods, he asks his PDA to connect  31002  to the courier&#39;s central server and read in the customer&#39;s details. If  31003  the customer is a registered collection point user, then their account is accessed to determine  31006  if they have given permission for delivery to a collection point if they are not in to receive goods. If they have given permission, then in  31007 , their preferred collection points are read. If they haven&#39;t specified preferences, then the central server searches  31008  for collection points within five miles of their home address. If  31009  collection points are found, or if preferences are given as part of their account details, then  31010  the availability of these collection points is determined starting with the closest. If in  31011  a collection point is available then the courier&#39;s logistics system is asked if to determine  31013  if an economic route exists which incorporates this new address in the remainder of the delivery man&#39;s route. If  31015  it is economic to deliver to that collection point then the driver&#39;s route is updated  31016  and the tracking number of the package is downloaded to the collection point in preparation for delivery. If in  31009  no collection points are found with availability, then the package can&#39;t be delivered and is returned to the depot ( 31012 ). Similarly if none of the collection points has availability or if the alternative route including that collection point in uneconomic, then the package will be returned to the courier&#39;s depot.  
      K. Alternative Embodiments  
      In an alternative embodiments of the invention, a centralized, synchronous system is used to validate delivery codes for packages delivered to an ACP. In one such embodiment, a package delivered to the ACP is validated by its packet ID, such that the packet ID is sent to the central server for validation. Once the packet ID is validated at the central server, a command to open an appropriate door on the ACP may be sent from the central server to the central console on the ACP.  
      In embodiments of the invention, a package may be validated by insertion of a delivery company ID to the console. In particular, an ID for the delivery agent which brings the package to the ACP may be used to validate delivery of the package. In some such embodiments, the delivery ID may be sent to the central server for validation. In other embodiments, the delivery ID may be validated asynchronously. In some such embodiments, delivery ID s for each of a plurality of delivery companies may be downloaded to local memory on the ACP console at periodic intervals. In some embodiments, the delivery ID s may be downloaded en masse after a triggering event, such as an opening or closing of a locker door.  
      In some embodiments, the console does not include a keyboard. In some such embodiments, validation of the package ID may be conducted through wireless interfaces such as a bar code scanner or a wireless transmitter/receiver.  
      In embodiments of the invention, after delivery of a package to an ACP, a confirmation of delivery may be sent from the ACP to an interface device. In some embodiments, this confirmation may take the form of a digital signature. The digital signature may identify one or more of the following: location of the ACP, time of delivery, package ID, user ID, delivery company ID.  
      L. Conclusion  
      The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed. Many modifications and equivalent arrangements will be apparent.