# Patent

## Title
Techniques for processing customer service transactions at customer site using mobile computing device

## Abstract

Techniques are described for facilitating delivery and adjustments of customer orders at a customer delivery site. A delivery courier is assigned a mobile field computing device for facilitating delivery and order adjustments of customer orders associated with that courier's delivery route. The mobile field computing device includes memory for storing customer order history data and delivery route data downloaded from a server system. The delivery route data stored in the mobile field computing device may be used by the delivery courier to facilitate delivery of the customer orders. Further, the delivery courier may use the mobile field computing device to process a variety of different order adjustment transactions at a customer delivery site.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent Ser. No. 11/244,627, now U.S. Pat. No. 7,792,712, entitled “TECHNIQUES FOR PROCESSING CUSTOMER SERVICE TRANSACTIONS AT CUSTOMER SITE USING MOBILE COMPUTING DEVICE,” filed Oct. 5, 2005, the entirety of which is incorporated herein by reference for all purposes, which is a continuation of U.S. patent application Ser. No. 09/568,572, now U.S. Pat. No. 6,975,937, entitled “TECHNIQUE FOR PROCESSING CUSTOMER SERVICE TRANSACTIONS AT CUSTOMER SITE USING MOBILE COMPUTING DEVICE,” filed May 10, 2000, the entirety of which is incorporated herein by reference for all purposes, which claims priority under 35 USC 119(e) from U.S. Provisional Patent Application No. 60/133,646, entitled ELECTRONIC COMMERCE ENABLED DELIVERY SYSTEM AND METHOD, filed May 11, 1999, the entirety of which is incorporated herein by reference for all purposes.
The present application also relates to a number of U.S. patent applications filed in May 2000, including: U.S. patent application Ser. No. 09/568,603, now U.S. Pat. No. 7,177,825, for INTEGRATED SYSTEM FOR ORDERING, FULFILLMENT, AND DELIVERY OF CONSUMER PRODUCTS USING A DATA NETWORK; U.S. patent application Ser. No. 09/568,570, now U.S. Pat. No. 7,370,005, for INVENTORY REPLICATION BASED UPON ORDER FULFILLMENT RATES; U.S. patent application Ser. No. 09/568,614 for REAL-TIME DISPLAY OF AVAILABLE PRODUCTS OVER THE INTERNET; U.S. patent application Ser. No. 09/568,613, now U.S. Pat. No. 7,437,305, for SCHEDULING DELIVERY OF PRODUCTS VIA THE INTERNET; U.S. patent application Ser. No. 09/568,823, now U.S. Pat. No. 7,197,547, for LOAD BALANCING TECHNIQUE IMPLEMENTED IN A DATA NETWORK DEVICE UTILIZING A DATA CACHE; U.S. patent application Ser. No. 09/568,569, now U.S. Pat. No. 6,622,127 B1, for ORDER ALLOCATION TO SELECT FROM INVENTORY LOCATIONS STOCKING FEW UNITS OF INVENTORY; U.S. patent application Ser. No. 09/566,912, now U.S. Pat. No. 6,332,334 B1, for METHOD AND APPARATUS FOR HANDLING AND TRANSPORTING TEMPERATURE-SENSITIVE ITEMS; and U.S. patent application Ser. No. 09/568,571, now U.S. Pat. No. 7,139,637, for ORDER ALLOCATION TO MINIMIZE CONTAINER STOPS IN A DISTRIBUTION CENTER. Each of the disclosures of these copending applications is incorporated herein by reference in its entirety for all purposes.


BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of electronic commerce. In particular, the present invention relates to a technique for delivering and modifying customer orders for consumer products using a data network.
2. Description of the Related Art
Companies have been delivering goods to customer homes for years using many different kinds of delivery systems. Examples run from mail order catalog shopping to on-line ordering and delivery services such as those provided by Amazon.com and Peapod.com. Indeed, the demand for home shopping and home delivery is increasing. However, many of the conventional systems which provide home shopping and home delivery services have significant limitations that prevent their adoption on a large scale basis.
Using conventional techniques, an on-line product purchasing transaction will typically include the following steps. First, the customer selects one or more products to be purchased. Once the customer has finished selecting the desired product(s), the customer may then proceed to a check-out or order confirmation page. During the check-out or order confirmation process, the customer provides the necessary information for completing the transaction purchase, such as, for example, the customer's name, credit card number, shipping address, etc. Before the order is confirmed by the on-line retailer, (e.g., Amazon.com), the billing and financial information is verified and processed. For example, if a credit card is used by the customer to purchase selected on-line products, a credit card transaction for the total amount of the purchase will be authorized before the purchase order is confirmed and fulfilled by the merchant. Once the payment transaction has been authorized, the on-line merchant typically fulfills the order by obtaining the purchased products, and shipping the purchased products the customer's shipping address using a common carrier (e.g. third-party courier) such as, for example, UPS, USPS, Federal Express, etc. The customer's credit card is typically billed at the time of shipment.
Although conventional on-line product purchasing techniques provide the convenience of allowing a customer to purchase and receive a desired product without having to venture outside his or her home, these techniques suffer from a number of disadvantages. For example, many on-line merchants provide adequate customer service relating to on-line product purchases, but typically provide inadequate customer service for handling returns or customer complaints. Further, once the customer's order has been processed, a customer typically does not have the ability to change, alter, or cancel the order. Rather, the customer must typically wait until he or she receives the originally ordered goods, and then must make a subsequent request to the on-line merchant for returning or modifying at least a part of the order. This latter request is typically handled as a separate transaction on the merchant's side, and may involve lengthy delays. Additionally, if the customer wishes to return one or more products, the customer is typically required by the merchant to first obtain a return authorization number (after first submitting a return request), and typically is responsible for paying shipping costs for shipping the returned products back to the merchant.
The following example may help to illustrate some of the potential problems which a customer may encounter when purchasing products via on-line retailers or merchants. First, let us assume that a customer has selected two books for purchase using an on-line merchant, such as, for example, Amazon.com. When the customer proceeds to the check-out page, the customer authorizes a total amount (i.e., for the books, tax, and shipping) to be billed to his or her credit card. Once the credit card authorization for the total amount has been received, the merchant fulfills the order and forwards the order to a common carrier for shipment. The customer's credit account will be billed at this time for the total amount specified above.
After the order has been fulfilled by the merchant, the customer is typically unable to modify or cancel the order. Thus, for example, if the customer subsequently wishes to cancel one of the ordered books after the merchant has fulfilled the order, the customer must first wait to receive the book, and then submit a separate request to the on-line merchant for returning the book. It is worth noting that since the purchased items are typically shipped using an independent courier service or common carrier such as UPS, Federal Express, or the U.S. postal service, there is no mechanism in place whereby the customer is able to return the undesired product (e.g., book) back to the delivery courier for an immediate refund. Rather, as is typically the case, the customer must first obtain a return authorization number from the merchant, re-package the unwanted product, and ship the unwanted product back to the merchant. Typically, the customer is required to pay for shipping charges for returning a product, even if the product was received in a defective condition.
Once the returned product is received by the merchant, it is typically processed within four to six weeks, meaning that a credit for the returned product may not be issued to the customer until four weeks after the product has been received by the merchant. In the example above, a credit, when issued, may appear as a refund or a credit on the customer's credit card account.
An additional problem with conventional on-line purchasing transactions relates to merchandise availability. For example, when a merchant receives a request for a product return, the merchant is not able to include the returned product as part of the merchant's current inventory until the returned product is physically received at the merchant's site and the return processed, which may take up to 4 to 6 weeks. Moreover, until the returned order is processed, the returned merchandise will typically not be included as part of the inventory made available for customer purchase. This results in an inefficient allocation of resources.
In light of the above, there exists a continual need to improve upon electronic commerce and on-line purchasing and delivery techniques.
SUMMARY OF THE INVENTION
According to the several embodiments of the present invention, techniques are described for facilitating delivery and adjustment of customer orders at one or more customer delivery sites. According to one embodiment, a delivery courier is assigned a mobile field computing device for facilitating delivery and order adjustments of customer orders associated with that courier's delivery route. The mobile field computing device can include memory for storing customer order history data and delivery route data downloaded from a server system. The delivery route data stored in the mobile field computing device may be used by the delivery courier to facilitate delivery of the customer orders. Further, the delivery courier may use the mobile field computing device to process a variety of different order adjustment transactions at a customer delivery site.
Additional objects, features and advantages of the various aspects of the present invention will become apparent from the following description of its preferred embodiments, which description should be taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a schematic block diagram of an integrated system architecture in accordance with a specific embodiment of the present invention.
FIG. 1A shows a schematic block diagram of a system which may be used for processing customer service transactions at the customer site in accordance with a specific embodiment of the present invention.
FIG. 2 shows a flow diagram of an MFD Download Procedure in accordance with a specific embodiment of the present invention.
FIG. 3 shows a flow diagram of an MFD Field Processing Procedure 300 in accordance with a specific embodiment of the present invention.
FIG. 4 shows a flow diagram of an MFD Upload Procedure in accordance with a specific embodiment of the present invention.
FIG. 5 shows a flow diagram of a specific embodiment of the present invention, illustrating various data flows which may occur between an MFD Client, and MFD Server, and a Webstore Data Base of FIG. 1.
FIG. 6 shows a block diagram of a mobile computing device (MFD) in accordance with a specific embodiment of present invention.



DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
The technique of the present invention provides a solution for facilitating delivery and adjustments of customer orders which may be performed by a delivery courier at a customer delivery site. According to at least one embodiment, each delivery courier is assigned a mobile field computing device (MFD Client) for facilitating delivery and order adjustments of customer orders associated with that courier's delivery route. Before being dispatched to commence his or her delivery run, the delivery courier may download customer order history data and delivery route data from an MFD Server into the courier's MFD Client device. The delivery route data stored in the MFD Client device may be used by the delivery courier to facilitate delivery of the customer orders. Further, the delivery courier may use the MFD Client device to process a variety of different order adjustment transactions (e.g. customer returns, order modifications, fees, credits, etc.) at a customer delivery site. The MFD Client device may be configured to use the stored customer order history data to process the order adjustment transactions. Additionally, the MFD Client device may further be configured to compute updated customer billing data based upon the processed order adjustment transactions. A modified receipt which includes the updated customer billing data may then be provided to the customer. In this way, the customer will know, at the time of delivery, all charges for which the customer will be billed and/or credited. Additionally the technique of the present invention may be used to track the status of customer orders and delivery resources such as, for example, delivery couriers and/or delivery vehicles.
FIG. 1 shows a schematic block diagram illustrating various systems, subsystems and/or components of the integrated system architecture 100 in accordance with a specific embodiment of the present invention. As shown in FIG. 1, system 100 includes a plurality of subsystems and other components for effecting electronic commerce over a data network. A brief description of at least a portion of the plurality of subsystems of system 100 is presented below. For example, system 100 of FIG. 1 may include:
(1) a Webstore Subsystem (WS) 132 which manages the on-line store interface with customers, including customer shopping and ordering transactions;
(2) a Transportation Subsystem (XPS) 124 which manages delivery window scheduling, delivery vehicle routing, capacity planning, and mobile field device (MFD) data used by delivery couriers;
(3) an Order Management Subsystem (OMS) 150 which manages pricing data, item availability data, inventory data, vendor data, finance, procurement, etc;
(4) an Order Fulfillment Subsystem (OFS) 160 which facilitates the fulfillment of customer orders and manages the distribution center (170) operations;
(5) a Customer Relationship Management (CRM) Subsystem 126 for enabling customer service representatives (CSRs) 143 to service customer requests and track customer interaction; etc.
As shown in FIG. 1, system 100 may include at least a portion of the above-described subsystems. Additionally, each subsystem may also comprise at least one server and/or other components. Further, each subsystem may be configured to utilize a dedicated or shared database server as its persistent and transactional data backbone. Users or customers may access data stored on one of the subsystem's database servers (e.g. Webstore database), which then executes appropriate business logic and/or business objects.
Each subsystem may be configured or designed to communicate with each other via a plurality of interfaces. According to a specific embodiment, the plurality of interfaces includes both synchronous and asynchronous interfaces. Many of the various system interfaces are configured to be asynchronous, wherein data is typically transferred in batch mode via staging (e.g. database) tables or flat files (e.g., separated value files). However, at least a portion of the system interfaces are configured as synchronous interfaces. Generally, a synchronous interface may be used where an immediate response from a server or component is required. Synchronous interfaces in the system 100 of FIG. 1 may exist between the WS 132 and Tax Server 114, and MFD Server 112 and Tax Server 114, for example.
Conceptually, the system 100 of FIG. 1 may be grouped into two general subsystems, namely a Front Office system and a Back Office system. The Front Office system is generally responsible for functions related to customer transactions such as, for example, customer orders, billing transactions, delivery scheduling, customer service, etc. In the embodiment of FIG. 1, for example, the Front Office system 130 comprises the Webstore Subsystem 132, Transportation Subsystem 124, and Customer Relationship Management Subsystem 126. The Front Office system 130 may also include other subsystems or components such as, for example, a Mobile Field Device (MFD) Server 112, a tax component 114, a credit or debit card billing component 116, a Help Desk component 144, etc. The above-described subsystems and components of Front Office 130 are described in greater detail below.
Additionally, the Front Office system 130 may include a centralized database 131 which may be accessed by subsystems and/or components of system 100. Alternatively, one or more of the Front Office systems and/or components may each comprise a respective database which is accessible by other subsystems and/or components of system 100.
The Back Office system generally includes all subsystems and/or components which are not part of the Front Office system. Thus, as shown in FIG. 1, for example, the Back Office system includes the OMS 150 and OFS 160 subsystems. However, the invention is not limited to the particular embodiment shown in FIG. 1, and it will be appreciated that the specific configuration of system 100 may be modified by one having ordinary skill in the art to suit specific applications.
Subsystem Functionality
This section provides a more detailed description of the various subsystems and components which form the integrated system architecture of the present invention, as shown, for example, in FIG. 1 of the drawings.
Front Office Architectural Layers
As shown in FIG. 1, the Front Office system 130 comprises a plurality of separate subsystems such as, for example, Webstore Subsystem (WS) 132, Transportation Subsystem (XPS) 124, and Customer Relationship Management (CRM) Subsystem 126. Each subsystem may be implemented via a combination of hardware and/or software, and further may include a plurality of different functional components, modules, and/or plug-in applications.
At least a portion of the software residing at the Front Office system may include a presentation layer, an application layer, a business object layer, a database access layer, or any combination thereof. According to a specific embodiment, the presentation layer handles the actual presentation of information to users via an appropriate medium. The application layer, which may be stateless, handles the appropriate application logic for the various subsystems of the Front Office. For example, in the Webstore Subsystem 132, it is the application layer (referred to as the shopping engine) which determines that a customer cannot check out an order unless the customer has selected a delivery window, or provided billing information. The business object layer, which may be stateful, provides objects with a fixed set of functionality (e.g. methods or procedures) that may be manipulated by the application layer. The business object layer may also implement write through caching of data. According to a specific embodiment, the business objects do not know about each other, and the application layer handles the coordination between the various business objects. The database access layer provides connectivity and data access APIs to the Front Office database 131 (also referred to as the Webstore database). According to a specific embodiment, the database access layer performs pooling and caching of connection objects, where appropriate.
It is also important for a common database schema to be adopted by each of the Front Office systems. According to a specific embodiment, the database 131 is implemented as a shared database which may be accessed by each of the Front Office systems.
Webstore Subsystem (WS)
The Webstore Subsystem (WS) 132 provides an interface for enabling customers 102 to access the on-line store (e.g. Webstore). In a specific embodiment where the Webstore is implemented as a website on the World Wide Web, customers may access the Webstore via the Internet or World Wide Web using any one of a plurality of conventional browsers. The Webstore user interface may be designed to provide a rich set of functions without requiring any special browser plug-ins. Thus, according to a specific embodiment, customers may access the Webstore using any client machine, regardless of the machine's operating system platform. Additionally, for security purposes, the Webstore interface also supports data encryption for exchange of any sensitive or private information between the customers and the website. According to a specific embodiment, the secure Webstore interface is implemented using a secure http protocol (HTTPS), commonly known to those of ordinary skill in the art.
In accordance with a specific embodiment, the Webstore Subsystem 132 supports a number of customer related features such as, for example, self registration; accessing of customer account information; browsing of product categories and category hierarchy; viewing of product images and product information; keyword searches; delivery scheduling; accessing of customer order history; customizable shopping lists; on-line shopping and ordering; etc.
The Webstore Subsystem (referred to as the Webstore) may be implemented using at least one server which is connected to the data network. According to a specific embodiment, the Webstore is implemented using a plurality of web servers (e.g. web server farm) which helps to minimize server response time and provide real-time failover and redundancy capabilities. Further, according to a specific embodiment, in order to keep the web server response time to a minimum, the Webstore may be configured such that all processing is performed on a single server, within one process. Where a plurality of Webstore servers are used, redundant processing may be performed by at least a portion of the servers so that a single Webstore server may handle all Webstore processing tasks associated with a particular on-line customer. It will be appreciated that the Webstore server boundaries may be crossed where appropriate, such as, for example, when accessing the Front Office database via the data network.
Additionally, as shown in FIG. 1, the Front Office system may include a number of integrated components which provide additional functionality. For example, the WS may include a plurality of components which provide additional functionality such as, for example, computation of taxes, search capability, credit card billing, etc. Thus, as shown in FIG. 1, for example, the WS 132 includes a tax computation component 114 for computing taxes for each order line item that is sold, and a credit (or debit) card server (CC) component 116 for handling credit and/or debit card authorizations and funds captures. According to at least one embodiment, one or more of these components may be implemented as an asynchronous process in order to reduce or minimize impact on the Webstore server's response time and availability.
Transportation Subsystem (XPS)
The Transportation Subsystem (XPS) 124 generally handles delivery window scheduling, delivery vehicle routing, capacity planning, and mobile field device programming used by delivery couriers. Accordingly, the Transportation Subsystem may be configured to provide the following functional features: (1) delivery scheduling, and delivery window reservation; (2) deliveries to customer site with appropriate billing actions and processing, including processing of adjustments, credits, and returns; and (3) adjusting delivery operation parameters such as, for example, truck route plans, delivery vehicle usage, service duration, parking time, delivery courier scheduling, data to be downloaded into MFDs, etc.
As shown in FIG. 1, for example, the Transportation Subsystem 124 may comprise a plurality of components and/or other subsystems including MFD Server(s) 112, mobile field client devices (MFD Clients) 106, and delivery couriers 110. In alternate embodiments, at least a portion of these components such as, for example, the MFD Server 112, may be implemented as a separate subsystem and may reside external to the Transportation Subsystem.
One function of the Transportation Subsystem is to generate a list of available delivery windows (for presentation to the customer) based upon transportation capacity data such as, for example, the number of couriers available, the number of delivery vehicles available, the number of orders for a particular day, truck routes, etc.
Dispatch Subsystem (DS)
According to at least one embodiment, the Transportation Subsystem may include a Dispatch Subsystem 107 for allowing real-time access to the state and/or status of delivery couriers and delivery vehicle resources. Using the Dispatch Subsystem, dispatchers may communicate with delivery couriers that are en-route, and may also use the Dispatch Subsystem to provide real-time re-scheduling of delivery routes. According to a specific embodiment, the Dispatch Subsystem may be implemented via the MFD Subsystem (described in greater detail below).
Customer Relationship Management (CRM) Subsystem
The Customer Relationship Management Subsystem 126 is an interactive application which may be used by customer service representatives (CSRs) 143 to manage customer service requests and to track customer interaction. The functionality provided by the CRM subsystem may include, for example, accessing customer information; issuing credits for various customer issues (e.g. complaints, returns, damaged goods, etc.); handling work flow for processing customer issues; etc. The CRM subsystem provides CSRs (sometimes referred to as customer service operators—CSOs) with the ability to access, view, and edit customer information in accordance with customer requests by customers 102.
The general architecture of the CRM Subsystem is similar to that of the Webstore Subsystem. For example, in a specific embodiment, the CRM subsystem may use the same application, business object, and database access layers which is used by the Webstore Subsystem.
In the embodiment shown in FIG. 1, the CRM subsystem comprises a Help Desk component 144. In a specific implementation, the Help Desk component is implemented using the Remedy software package, manufactured by Remedy Corp., of Mountain View, Calif. The Help Desk component manages any workflow for handling specific customer requests or issues. For example, the Webstore and Transportation Subsystems may generate trouble tickets for various events such as, for example, failed credit card authorizations or customer-reported shorts in delivery. The CSRs process these trouble tickets via the Help Desk component 144 of the CRM subsystem. Utilizing the Help Desk component, the CSRs are able to initiate and track any customer contact relating to the processed trouble tickets. The CSRs may access the Help Desk component 144 via a Help Desk GUI 142.
According to a specific embodiment, the Help Desk component includes a database 145 for managing customer service requests and/or issues. Alternatively, the Help Desk component may be configured to share the Front Office database 131.
Order Management Subsystem (OMS)
The Order Management Subsystem (OMS) 150 manages a variety of aspects related to the integrated system architecture of the present invention, including, for example, pricing, availability, inventory, vendors, financials, procurement, and data flows between various subsystems. As shown in FIG. 1, the OMS subsystem 150 includes graphical user interface 152, and at least one database 151 for storing various data received from at least a portion of the other subsystems.
The Order Management Subsystem is also configured to include appropriate software and/or hardware for managing financial and distribution applications. According to a specific embodiment, the financial and distribution software is provided by PeopleSoft Corporation of Pleasanton, Calif. Additionally, the financial and distribution application software may include a plurality of components such as, for example, a user interface used for inquiry and on-line transaction entry, batch processes used for background processing of data, reports, etc.
The OMS batch processing may be controlled using a process scheduler. The process scheduler is able to manage the number of concurrent processes being run and the date/time at which certain processes are to run or be executed. The process scheduler may also enable central visibility of all processes currently running. Batch processing and reporting may be accomplished using a variety of different technologies commonly known to one having ordinary skill in the art.
The Order Management Subsystem may be configured to support both asynchronous and synchronous interfaces with the other subsystems. In a specific embodiment, the OMS is configured to support an asynchronous interface with each of the other subsystems. Additionally, each OMS interface is configurable, and may be configured to support the running of batch processes as often as is desirable.
Order Fulfillment Subsystem (OFS)
The Order Fulfillment Subsystem 160 manages all functionality of the area distribution center (DC) 170. In the embodiment of FIG. 1, the OFS includes appropriate hardware and/or software for managing the DC facility 170, including, for example, a warehouse management system (e.g. software application), and at least one database 161. The warehouse management subsystem may also provide the interface for allowing the OMS subsystem to communicate with the OFS database 161.
Mobile Field Device (MFD) Subsystem
Although the MFD Server 112 may conceptually be grouped with the Transportation Subsystem, in a specific embodiment, the MFD Server component 112 may configured to include at least one back-end server which resides in a particular area data center. Thus, different areas may be serviced by different MFD Servers. Moreover, each zone in a particular area may serviced from a station which may be connected to the area data center via the data network. Each MFD Client 106 may communicate with an area MFD Server 112 via the data network, and download and/or upload various types of information, including, for example, customer order history information, delivery information (e.g. vehicle delivery routes, stops, etc.), customer returns information, credits, adjustments, etc.
According to a specific implementation, each delivery courier carries an MFD Client while making his or her delivery run to the customer sites. During delivery, the MFD Client 106 may be configured to provide the delivery courier with delivery route information, including delivery routes and stops. Additionally, the MFD Client may also be configured to verify delivered items upon delivery. Further, using the MFD, the delivery courier is able to immediately process a variety of customer service requests at the customer site (e.g. at the time of delivery to the customer), such as, for example, order modifications, customer returns, billing adjustments, inventory adjustments, credits, etc. According to a specific embodiment, the MFD Client is able to process these various customer service requests using data stored within the device, which has been downloaded into the MFD unit prior to the delivery. Thus, according to this embodiment, the MFD Client does not communicate with the MFD Server while processing the customer service requests at the delivery site. Alternatively, however, the MFD Client may be configured to communicate with the area MFD Server during processing of the customer service request using any one of a number of standard mobile communication techniques such as, for example, RF data systems, cellular data systems, etc. In this latter embodiment, the MFD Client may also be configured to allow processing of customer service requests, even at times when the MFD Client is temporarily unable to communicate with the MFD Server. To accomplish this, the customer MFD data is previously downloaded into the MFD Client at a time when the MFD Client is able to communicate with the MFD Server.
After the MFD has processed all appropriate transactions at the customer delivery site (including verification of current ordered items received by the customer), the MFD may also be configured or designed to provide the customer with an adjusted billing receipt (i.e. zero balance receipt), showing a total amount to be billed which takes into account any billing adjustments related to any processed returns, credits, adjustments, etc.
After completing deliveries on the delivery route, the courier, upon returning to the station, may connect the MFD Client 106 to the MFD Server 112, and upload all of the processed field transactions into the area data center, where it is then processed and stored in the Front Office database 131. The uploaded MFD data may also include the times at which the delivery events occurred.
According to a specific embodiment, the customer is not billed for the delivered order until after the order has been delivered and the MFD data relating to the delivery has been received at the Front Office system. The customer will then be billed for the adjusted total amount to be billed, indicated on the adjusted billing receipt (which was presented to the customer at the time of delivery). In this way, the customer will know, at the time of delivery, all charges for which the customer will be billed.
FIG. 1A shows a block diagram of a portion of the system 100 of FIG. 1, which includes an MFD Server 112, a plurality of MFD Clients 106, and a plurality of delivery couriers 110. As described previously, the MFD Server 112 may be configured to include at least one back-end server which resides in a particular area data center. Thus, for example, according to one embodiment, the MFD Server 112 physically resides at the Front Office Subsystem 130 (FIG. 1).
According to a specific embodiment, a logical MFD Server may be implemented to handle the back-end transactions processed by the mobile field devices (MFDs) assigned to a specific distribution area. Thus, for example, in the embodiment of FIG. 1A, MFD Server 112 may handle all MFD transactions associated with a specific area distribution center (e.g., area DC 170, FIG. 1). In one embodiment, each area distribution center may service one or more local cross-dock stations in that area. Each cross-dock station (herein referred to as “station”) provides local service to customers residing in designated delivery zones. Customer orders which are fulfilled by the distribution center (170, FIG. 1) may be off-loaded to an appropriate station where the order may then be delivered to the customer using a local delivery vehicle and courier 110. For example, referring to FIG. 1A, couriers 1 and 2 (110a, 110b) may be associated with a first station, and courier N (110n) may be associated with a second station. Each of the plurality of couriers 110 is assigned a respective delivery route. Additionally, each of the plurality of couriers is assigned a respective mobile field device (MFD) (also referred to as an MFD Client) for processing customer service transactions that take place on that courier's delivery route. Thus, in this example, MFD Server 112 will be configured to handle the back-end transactions for all MFD Clients 106 within a designated distribution area. According to a specific implementation, the MFD Server 112 may be deployed using a plurality of servers that have been configured to operate on a networking platform such as, for example, Windows NT, Unix, etc. Together, the plurality of servers may form the logical MFD Server 112 of FIG. 1A.
The plurality of MFD Clients (106a, 106b, 106n) of FIG. 1A correspond to mobile computing devices which are used by the plurality of couriers 110 to process transactions at the customers' delivery site. Each MFD Client may be configured to run on a variety of different operating systems such as, for example, DOS, PALM 0/S, etc. According to one implementation, an MFD Client may be implemented using a mobile computing device such as the PC-based Telxon 1124 device manufactured by Telxon Corporation of Akron, Ohio. According to an alternate embodiment, the MFD Client may be implemented using a PDA-type device such as the Symbol SPT 1700, manufactured by Symbol Technologies of Holtsville, N.Y.
Generally, the MFD Client and Server devices of the present invention may be implemented via software and/or hardware. A software or software/hardware hybrid MFD Server system of this invention is preferably implemented on a general-purpose programmable machine selectively activated or reconfigured by a computer program stored in memory. Further, the MFD Server may have multiple network interfaces for communicating with MFD Clients via a local or wide area network. In an alternative embodiment, the MFD Server system may be implemented on a general-purpose network host machine such as a personal computer or workstation. According to a specific implementation, the MFD Server may be configured to simultaneously communicate with multiple MFD Clients. Further, the invention may be at least partially implemented on a card (e.g., an interface card) for a network device or a general-purpose computing device.
Similarly, each MFD Client may be implemented using a software/hardware hybrid mobile computing device such as, for example, the handheld computing devices described previously. Referring to FIG. 6, a specific implementation of a mobile computing device 60 is shown which is suitable for implementing the MFD Client device of present invention. As shown in the implementation of FIG. 6, the MFD Client device 60 includes a master central processing unit (CPU) 62, one or more interfaces 68, and a bus 67 (e.g., a PCI bus). When acting under the control of appropriate software or firmware, the CPU 62 is responsible for such tasks as generating and recording time stamps, storing and displaying of delivery route information, storing and displaying customer order history, processing customer service field transactions, etc. The CPU preferably accomplishes all these functions under the control of software including an operating system and any appropriate applications software. CPU 62 may include one or more processors 63 such as a processor from the Motorola family of microprocessors or the Intel family of microprocessors. In an alternative embodiment, processor 63 is specially designed hardware for controlling the operations of the MFD Client device 60. In a specific embodiment, a memory 61 (such as non-volatile RAM and/or ROM) also forms part of CPU 62. However, there are many different ways in which memory could be coupled to the system. Memory block 61 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, etc.
Each MFD may also include a scanner (not shown) which may be used, for example, to scan bar codes or UPC codes. Further, as shown in FIG. 6, each MFD Client may include at least one interface 68 for communicating with the MFD Server 112. According to one implementation, the MFD Client may be configured to communicate with the MFD Server using a docking cradle which is connected to the MFD Server via a local or wide area network. Each station may be provided with a plurality of docking cradles for simultaneously connecting multiple MFDs to the MFD Server 112. Alternatively, according to a different implementation, the MFD Client 106a may be configured to include a wireless LAN transceiver for communicating with the MFD Server. In a specific embodiment, each station may be provided with one or more transponders for communicating with MFDs using a wireless protocol. Each transponder may be configured to communicate with the MFD Server via a local or wide area network.
According to a specific embodiment, the MFD Client 60 may be implemented on a PDA device such as, for example, a device similar to the well-known Palm series of PDA devices manufactured by Palm, Inc., of San Jose, Calif. In this embodiment, the MFD Client may be configured to run on a Palm OS platform licensed by Palm, Inc. According to a specific implementation, a synchronization mechanism may be used to transfer data between the MFD Server and the MFD Client in a manner similar to the way data is transferred between a Palm device and a desk top computer using Palm's HotSync manager software. For example, a client synchronization program running on the MFD Client may serve as the MFD Client agent, and a server software program running on the MFD Server may serve as the server agent. According to a specific implementation, the server and client synchronization software may be implemented using software provided by Aether Software, of Vienna, Va. Further, according to a specific implementation, synchronization may be achieved using a TCP/IP based protocol.
The MFD Client may be configured or designed to perform a variety of different functions and may also be configured or designed to retrieve, generate, and/or store a variety of different data relating to one or more customer orders. For example, the MFD Client may be configured to process, at a customer delivery site, transactions relating to a current and/or previous customer orders, and may further be configured to process such transactions in the absence of a communication link between the MFD Client and the MFD Server. Thus, for example, according to a specific implementation, each MFD Client may be configured or designed to process in-field transactions relating to customer returns, customer order shorts, credits (e.g., credit for late delivery), fees (e.g., re-delivery fee), tote deposits/returns, tote verification, customer ID verification, ID checks (e.g., for tobacco/alcohol), coupons and/or promotional offers, signature capture, printing of zero-balance receipts, printing of Return Merchandise Authorization (RMA) slips, etc.
Additionally, each MFD Client may be configured or designed to store various types of data which may include, for example, customer delivery addresses, customer notes and/or instructions, delivery time information, deliver route and/or map information, customer order history, etc. The MFD data downloaded to the MFD Client may also include pre-defined reason codes which may be accessed by the delivery courier to provide an explanation for an adjustment transaction that is processed at the customer delivery site.
Customer notes or instructions stored on an MFD Client may include notes from delivery couriers, notes from customer service representatives, and may also include notes from the customer (e.g. special delivery instructions) which may be entered by the customer via the Internet. According to a specific embodiment, the MFD Client may be configured to retrieve and store customer order history data for selected customers on the delivery route. The customer order history may include current order information, as well as past order history information (e.g., within the last 30 days). The customer order information may include, for example, a price paid for each item as ordered, a quantity of each item ordered, a date that the item was ordered and/or delivered, a SKU number associated with each ordered item, a bar code ID associated with each ordered item, and a tax amount (if any) which was paid for each ordered item. According to a specific embodiment, the MFD Client includes a display which may be used for displaying data stored in the memory of the MFD Client. In one implementation, the customer order history information stored in the MFD Client may be sorted using a variety of different criteria such as, for example, by customer order, by date, by SKU, etc.
Further, for processing customer returns, the MFD Client may be configured to differentiate between returned goods which are to be returned to the distribution center (DC) for restocking (for which an RMA slip or “chit” will be printed), and returned goods which are to be scrapped or thrown away (for which no RMA slip will be printed).
The MFD Client and Server devices of the present invention may also employ one or more memories or memory modules (such as, for example, memory block 65) configured to store data, program instructions for the MFD data transactions described herein, etc. The program instructions may control the operation of an operating system and/or one or more applications, for example. The memory or memories may also be configured to store the various types of MFD data described in this application, such as for example, customer delivery addresses, customer notes and/or instructions, delivery time information, deliver route and/or map information, customer order history data, etc.
Because such information and program instructions may be employed to implement the systems/methods described herein, the present invention relates to machine readable media that include program instructions, state information, etc. for performing various operations described herein. Examples of machine-readable media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). The invention may also be embodied in a carrier wave travelling over an appropriate medium such as airwaves, optical lines, electric lines, etc. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
FIG. 2 shows a flow diagram of a MFD Download Procedure 200 in accordance with a specific embodiment of the present invention. The MFD Download Procedure 200 may be initiated, for example, by a delivery courier before departing the station to deliver orders to customers on the courier's delivery route. In the example of FIG. 2, it is assumed that each delivery courier at a particular station has been assigned a respective delivery route. At 202, the delivery courier selects a MFD Client device (herein referred to as “MFD Client”) to receive downloaded MFD data from the MFD Server. According to one embodiment, each delivery courier may be assigned a specific MFD Client for a specified time period.
After the delivery courier has selected or been assigned a specific MFD Client at the cross-dock station, the delivery courier activates the MFD Client in order to establish (204) a connection with the MFD Server. In one embodiment, the delivery courier places the MFD Client into a cradle which provides a connection to the MFD Server. According to an alternate embodiment, the delivery courier simply depresses a key or switch on the MFD Client to cause the device to establish a wireless connection with the MFD Server 112. At 206, the delivery courier enters (206) login information and a route ID corresponding to that delivery courier's assigned delivery route. Once the login and route ID data has been verified by the MFD Server, the MFD Server retrieves MFD data relating to the identified route ID, and downloads (208) the appropriate MFD data into the memory of the MFD Client. The various data flows which may occur between the MFD Client and MFD Server during the MFD Download Procedure 200 are described in greater detail with respect to FIG. 5 of the drawings.
After the appropriate MFD data has been downloaded into the courier's MFD Client, the courier then verifies (210) the deliverable totes for that courier's delivery route. According to a specific embodiment, the delivery tote verification may be accomplished using the MFD Client to scan the bar-coded license plates of all delivery totes at the station which have been assigned to the delivery courier. The MFD Client may be used to verify that all delivery totes are accounted for before the courier is dispatched from the station. If all deliverable totes are not accounted for, the MFD Client may display to the delivery courier the IDs of the missing totes. In the event that the missing totes are not to be found at the cross-dock station, the items from the missing totes will be processed as shorts for the associated customer order(s). After verifying the deliverable totes associated with his or her delivery route, the delivery courier may then be dispatched (212) from the station to deliver the totes to the awaiting customers.
According to a specific embodiment, each delivery route includes a plurality of stops which correspond to specific customer delivery addresses. Further, each stop in the delivery route may correspond to a specific customer order.
FIG. 3 shows a flow diagram of an MFD Field Processing Procedure 300, in accordance with a specific embodiment of the present invention. The MFD Field Processing Procedure 300 may be initiated at each stop on a courier's delivery route. At 302, the delivery courier arrives at a delivery stop corresponding to a specific customer order, and notes the arrival time. According to a specific embodiment, when the delivery courier arrives at a specific delivery stop, the courier depresses a key on the MFD Client, which causes the MFD Client to record the arrival time of the courier at the specified stop. The delivery courier may then unload and scan (304) the appropriate totes for customer order associated with that delivery site. Each tote may be scanned using the MFD Client. Once the appropriate totes have been scanned, the MFD Client may determine (306) whether any totes are missing from the customer order. If it is determined that one or more totes are missing from the customer order, the MFD Client adds (308) the items associated with the missing totes to a missing item list associated with that customer order.
At 310, a determination is made as to whether the totes are deliverable to the customer. According to a specific implementation, the customer may authorize an “unattended delivery,” wherein the delivery courier may deliver the ordered item without obtaining the customer's signature. However, in the event that the customer signature is required for delivery of the order, and no one is available to sign for the delivery, the order will be reported (312) as undeliverable. When the delivery courier determines that an order is undeliverable, the courier may enter this information into the MFD Client, along with selected reason code(s). According to a specific embodiment, the MFD Client may then automatically assess a re-delivery fee for the customer order. It will be appreciated that the procedural elements of blocks 310 and 312 may occur before the delivery courier unloads the appropriate totes from the delivery truck.
Assuming that the customer order totes are deliverable, at 314, the MFD Client determines whether an ID check is required for at least a portion of the ordered items. As stated previously, an ID check may be required for ordered items such as tobacco or alcohol. If an ID check is required, the MFD Client may instruct a courier to verify information on the customer's ID. For example, an order includes a carton of cigarettes and a bottle of alcohol, where the minimum smoking age is 18, and the minimum drinking age is 21, the MFD Client may instruct the delivery courier to verify that the customer is at least 18 to receive the carton of cigarettes, and may further instruct the courier to verify that the customer is at least 21 to receive the ordered bottle of alcohol. At 316, the delivery courier performs the ID verification. If, for any reason, the delivery courier determines that the ID verification has failed (e.g., improper ID, under age, etc.) then, at 318, the restricted items for which the ID check failed are retained by the delivery courier. Additionally, at 318, the MFD Client may process the undelivered, restricted items as a customer return.
At 320, the courier delivers the totes to the customer. According to a specific embodiment, as each tote is scanned by the courier using the MFD Client. The MFD Client then adds a separate tote deposit fee to the customer order. After the totes have been delivered to the customer, the courier is able to process (322, 324) any adjustments or customer service transactions using the MFD Client. According to at least one embodiment, the MFD Client may be used to process customer service transactions (e.g. adjustments) at any time while the delivery courier is at the customer delivery site. As stated previously, the adjustments which may be processed (324) using the MFD Client may include item returns, shorts, credits, fees, tote deposits/returns, coupons, etc.
For example, a customer may wish to return a container of milk which was purchased in an order that was delivered 2 weeks previously. According to a first implementation, the delivery courier may use the MFD Client to process (324) the returned item by scanning the item's bar code or UPC code. During this processing, the MFD Client may compare the scanned UPC code against a list of UPC codes included in that customer's downloaded order history (which, for example, may include all ordered items within the past 30 days). When a UPC code match is found in the customer order history, the price which the customer paid for the item in the original order is immediately credited back to the customer. Additionally, any tax which the customer paid on the item is also credited back to the customer. If more than one UPC code match is found (meaning that more than one container of milk was purchased by the customer within the last 30 days), the customer order history information relating to the matched UPC codes can be displayed to the courier, and the courier may then select the appropriate matched item to ensure proper processing of the customer return. Alternatively, according to a different embodiment, the delivery courier may scroll through a list of previous ordered items using the MFD Client. The items may be sorted, for example, by order number. When the delivery courier encounters the entry for the previously ordered item which is being returned, the courier may then select that item to thereby cause the MFD Client to process (324) the selected item as a customer return. The courier may also enter one or more pre-defined reason codes to help explain why the customer is returning the item. In this example, the container of milk may be classified as a “scrapped” good, meaning that it will be disposed of rather than being returned to the distribution center for re-sale. Accordingly, the MFD Client need not generate an RMA slip for the returned container of milk.
Using a different example, it will now be assumed that the customer desires to return 2 unopened boxes of breakfast cereal which were originally purchased as part of a 4-pack. Like the example above, the delivery courier may use the MFD Client to process (324) the return transaction(s) for the 2 unopened boxes of cereal. However, in this example, the customer will be credited for a pro-rated amount of the original purchase. Thus, for example, if the customer order history data in the MFD Client indicates that the customer originally paid $8.00 for the 4-pack of cereal, the customer would be credited one-half of that amount, or $4.00 for the returned items. Additionally, the customer will be credited a pro-rated amount of tax which the customer paid in the original order. Thus, for example, if the customer originally paid $1.00 in tax for the purchase of the 4-pack of cereal, the customer will be credited $0.50, which represents the tax value of the returned merchandise. Furthermore, since the returned boxes of cereal may be returned to the distribution center for re-sale, the MFD Client will generate a RMA slip for the returned boxes of cereal. According to a specific implementation, the MFD Client will add the 2 boxes of cereal to an RMA list associated with the customer order being delivered.
Each time an adjustment and/or customer service transaction is processed by the MFD Client, the MFD Client calculates (326) updated billing data for the customer order which is being delivered. The updated billing data may be referred to as zero balance billing data, which corresponds to updated customer billing data that reflects the current balance in the customer's account, after taking into account all processed transactions at the customer site using the MFD Client. Thus, for example, the zero balance billing data may include billing data relating to the customer order as well as all transactions processed by the MFD Client for that customer. Moreover, according to at least one embodiment, the net payment amount reflected in the zero balance billing data will be the exact amount which the customer will be charged or credited. In this way, the customer will know, at the time of delivery, all charges and credits for which the customer will be billed and/or credited. This feature is advantageous in that it provides the customer peace-of-mind in knowing that no additional charges will appear on the customer's bill or credit card after the delivery courier returns to the station.
Once the MFD Client has processed all desired customer transactions and calculated the updated zero balance billing data, a final receipt is printed (328) which includes the updated zero balance billing data. According to a specific implementation, the final receipt will show all credits, returns, fees, and other adjustments processed at the customer site, and will additionally show a revised total amount to be billed to the customer. The courier then captures (330) the customer signature on the MFD Client. At the same time, the MFD Client may record the time at which the customer signature is captured. At 332, the delivery courier uses the MFD Client to print a RMA slip for any returned items which are to be returned to the distribution center for re-stocking, and affixes the RMA slip to the tote which contains the returned goods. At this point, the delivery of the customer order has been completed, and the delivery courier may depart to the next delivery stop.
However, at any time before the delivery courier leaves the current delivery stop, the customer may request additional adjustments to be processed such as, for example, additional returns, credits, shorts, etc. In response, the delivery courier may use the MFD Client to process the additional transactions in the same manner described above. Thereafter, a new final receipt with updated zero balance billing data will be printed and delivered to the customer, and a new signature of the customer will be captured. Additionally, a new RMA slip may be printed which will include any additional items to be returned to the distribution center.
At 334, the delivery courier leaves the current delivery stop and notes the departure time. According to a specific embodiment, the delivery courier may depress one or more keys or buttons on the MFD Client to retrieve the next delivery stop information. At that time, the MFD Client may note the current time and record the current time value as the departure time from the current delivery stop. When the courier arrives at the next delivery stop, the MFD Field Processing Procedure 300 may be repeated as described above.
After the delivery courier has completed delivery to all stops on his or her delivery route, the delivery courier returns to the cross-dock station. Once the delivery courier has arrived at the station, the courier may then upload the data from the MFD Client to the MFD Server 112, as shown, for example, in FIG. 4 of the drawings.
FIG. 4 shows a flow diagram of a MFD Upload Procedure 400 in accordance with the specific embodiment of the present invention. The Procedure 400 of FIG. 4 may be initiated for each delivery courier returning to a station after completing his or her delivery run (e.g., 402). The delivery courier then activates the MFD Client to establish (404) a connection with the MFD Server 112. As stated previously, the connection with the MFD Server may be accomplished using a wired interface or, alternatively, a wireless interface. Once the connection with the MFD Server is established, data captured and/or generated by the MFD Client during the delivery run is uploaded (406) from the MFD Client to the MFD Server. According to at least one embodiment, the data which is uploaded to the MFD Server may include adjustment data relating to any adjustments or customer service transactions processed by the MFD Client. The uploaded MFD data may also include customer signature data, time stamp data, reason code data, etc. Once the MFD Server has received the uploaded data from the MFD Client, the MFD Server processes the received data, and stores the process data in the Webstore Database 131 as shown, for example, in FIG. 5 of the drawings.
According to a specific implementation, each MFD Client may be configured to communicate via a wireless communication system with the MFD Server while the delivery courier is making his or her delivery run to the customer sites. For example, the MFD Client may include a radio transponder which communicates with a radio transceiver for communicating with the MFD Server. In this embodiment, it is possible for the MFD Client to immediately transmit to the MFD Server any desired data which the MFD Client captures and/or generates while in the field. For example, the MFD Client may transmit the arrival and departure times of the delivery courier at specific customer stops in real-time. Using this information, a dispatch operator at the cross-dock station is able to automatically track the status of each delivery courier in the field. Further, according to a specific embodiment, when the communication link between the MFD Client and the MFD Server is broken, the MFD Client is able to store all processed data which it collects and/or generates in the field and subsequently transmit, via a batched process, the stored data to the MFD Server when the communication link to the MFD Server is re-established. Further, it will be appreciated that the MFD Client may be configured to fully perform all functions and operations at times when the MFD Client is unable to communicate with the MFD Server.
FIG. 5 shows a flow diagram of various data flows which occur between an MFD Client 106a, an MFD Server 112, and a Webstore Database 131, in accordance with a specific embodiment of the present invention. A first portion of the data flows (510) may be associated with the MFD Download Procedure 200 of FIG. 2. A second portion of the data flows (520) may be associated with the MFD Upload Procedure 400 of FIG. 4.
Referring to FIG. 5, at (1) the MFD Client 106a transmits login data to the MFD Server 112. Once the MFD Client login data is received at the MFD Server, the MFD Server then retrieves login authentication data from the Webstore Database 131 in order to authenticate the login data received from the MFD Client 106a. The MFD Server then transmits (5) a response to the MFD Client as to whether the login request has been approved or denied. Assuming that the login request from the MFD Client has been approved, the MFD Client may then transmit a route ID (corresponding to the route of the delivery courier using the MFD Client 106a) in order to retrieve MFD data relating to the specific route corresponding to the route ID. If the delivery courier is not able to provide the route ID corresponding to his or her assigned delivery route, the courier may access a route list which includes all route IDs for one or more specific cross-dock stations via the MFD Client. The MFD Client then transmits (7) a request to the MFD Server to retrieve the route list information. When this request is received at the MFD Server, the MFD Server accesses (9) the Webstore Database (131) to retrieve the requested route list data, and then forwards (11) the retrieved data to the MFD Client. Once the delivery courier has entered the desired route ID into the MFD Client, the MFD Client transmits (13) a request to the MFD Server to download MFD data corresponding to the specified route ID. When the MFD Server receives the download request, it retrieves (15) the appropriate customer order history and route data (15) from the Webstore Database (131), and transmits (17) the route data history, customer order history data, and global data to the MFD Client where it is stored. According to a specific embodiment, the global data may include, for example, reason codes with corresponding descriptions, coupon codes, tote deposit values, late delivery credit values, re-delivery fee values, etc.
As shown in the MFD Upload Procedure 400 of FIG. 4, when the delivery courier returns to the station, all data processed by the MFD Client may be uploaded to the MFD Server. This is shown at 19 of FIG. 5, which illustrates an MFD Client 106a uploading data to MFD Server 112. After the uploaded data has been received at the MFD Server, the MFD Server processes the received data, and transmits its processed data to the Webstore Database 131. For example, the MFD Server may apply (21) the uploaded adjustment data to the appropriate customer orders and store this information on the Webstore Database. Additionally, the MFD Server may store or record (23) the zero balance billing data (generated by the MFD Client 106a) on the Webstore Database. The zero balance billing data stored on the Webstore Database may subsequently be used by the credit card capturing server (116, FIG. 1) for charging or crediting appropriate customer credit card accounts. The MFD Server may also store (25) the signature data captured by the MFD Client device 106a. Further, the MFD Server may generate and store (27) RMA data on the Webstore Database. The RMA data generated by the MFD Server may be derived from the RMA data generated by the MFD Client 106a. The RMA data which is stored on the Webstore Database may be subsequently used by the Order Management Subsystem for managing inventory records. Additionally, the MFD Server may store (29) on the Webstore Database any updated tax data uploaded from the MFD Client 106a. 
It will be appreciated that the technique of the present invention is not limited to the use of a computerized, mobile, hand-held device such as the MFD Client described in this application. According to at least one alternate embodiment of the present invention, the technique of the present invention may be implemented using a paper method whereby the various functions normally performed by the MFD Client may be performed by the delivery courier using a written format to record the various field transactions which occur during the courier's delivery run. Thereafter, when the delivery courier returns to the cross-dock station, he or she may input the recorded field transactions (e.g., recorded on paper) into a computer system which is connected to a server that is functionally similar to the MFD Server 112.
One advantage of the technique of the present invention is that it provides a means for processing customer service requests and/or adjustments to customer orders at the customer delivery site. Additionally, the technique of the present invention provides a simple and effective solution for allowing customers to return unwanted products, without requiring that the customer package the returned product, obtain a return authorization number, pay for shipping charges, or other burdensome tasks associated with conventional electronic commerce techniques. Further, unlike conventional techniques, the customer may be provided with an updated and finalized bill at the time of delivery which includes all order modifications, returns, and other adjustment transactions. In this way, the customer will be informed at the time of delivery of all charges and/or credits for which the customer will be billed or credited.
Although several preferred embodiments of this invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to these precise embodiments, and at various changes and modifications may be effected therein by one skilled in the art without departing from the scope of spirit of the invention as defined in the appended claims.

## Claims

1. A mobile computing device for use by a delivery courier, said mobile computing device comprising:
a processing unit configured to control operation of said mobile computing device;
a display configured to present information to the delivery courier; and
a memory configured to store at least programming instructions executable by said processing unit, said memory storing at least:
programming instructions for accessing customer delivery information, the customer delivery information including at least one customer order to be delivered to a customer delivery stop corresponding to a customer, and customer billing data associated with the at least one customer order;
programming instructions for presenting at least a portion of the customer delivery information on said display; and
programming instructions for executing an adjustment transaction to the at least one customer order while at the customer delivery stop corresponding to the customer, the adjustment transaction resulting from receiving a request by the customer, and the adjustment transaction operating to modify at least a portion of the customer delivery information, wherein the adjustment transaction operates to add at least one item to the at least one customer order.

2. A mobile computing device as recited in claim 1, wherein said mobile computing device further comprises:
a wireless interface configured to wirelessly transmit, to another computing device, delivery status information corresponding to a status of the delivery courier on a delivery route, wherein the delivery status information is generated by said mobile computing device.

3. A mobile computing device as recited in claim 1, wherein the at least one customer order includes a plurality of ordered items, and
wherein the adjustment transaction modifies the at least one customer order by removing at least one of the ordered items from the at least one customer order.

4. A mobile computing device as recited in claim 1, wherein at least a portion of the customer billing data is modified based on the adjustment transaction, and wherein said memory further stores:
programming instructions for presenting the modified customer billing data at the customer delivery stop via said display.

5. A mobile computing device as recited in claim 4, wherein the customer has an account, and wherein the updated customer data reflects a current balance due on the account of the customer following the adjustment transaction.

6. A mobile computing device as recited in claim 5, wherein said mobile computing device comprises:
a printer configured to print a receipt including at least a portion of the updated customer data at the customer delivery stop.

7. A mobile computing device as recited in of claim 6, wherein the receipt being printed via said printer is an updated receipt for the customer based on the updated customer data.

8. A mobile computing device as recited in claim 1, wherein said memory further stores:
program instructions for informing the delivery courier via said display and based on the customer delivery information that an identification check for proof of age is to be performed before delivery of the at least one customer order is completed.

9. A mobile computing device as recited in claim 1, wherein the customer delivery information includes delivery route data corresponding to a delivery route that includes the customer delivery stop.

10. A mobile computing device as recited in claim 9, wherein said method stores:
programming instructions for presenting on said display the delivery route data to facilitate delivery of the at least one customer order to the customer on the delivery route.

11. A mobile computing device as recited in claim 1, wherein said memory further stores:
programming instructions for recording at least a time related to an arrival time at the customer delivery stop and/or to a departure time from the customer delivery stop.

12. A mobile computing device as recited in claim 1, wherein said memory further stores:
programming instructions for recording a time related to the delivery courier delivering the customer order to the customer.

13. A mobile computing device as recited in claim 1, wherein the at least one customer order includes a plurality of ordered items, wherein the customer delivery information includes an identification check required indication if at least one of the ordered items of the at least one customer order requires an identification check, and wherein said memory further stores:
programming instructions for informing the delivery courier, via the mobile computing device, that an identification check regarding proof of age is to be performed before delivery of the at least one customer order is completed if the customer delivery data includes the identification check required indication.

14. A mobile computing device as recited in claim 1, wherein the at least one customer order includes a plurality of ordered items, and
wherein said programming instructions for presenting at least a portion of the customer delivery information comprises programming instructions for informing the delivery courier if the at least one customer order being delivered requires successful completion of an identification check in order for the at least one customer to receive at least one of the ordered items from the at least one customer order.

15. A mobile computing device as recited in claim 1, wherein said memory further stores:
programming instructions for informing the delivery courier via the mobile computing device that a customer signature is to be captured, the customer signature acknowledging delivery of the at least one customer order to the at least one customer.

16. A mobile computing device as recited in claim 15, wherein said memory further stores:
programming instructions for capturing the customer signature using the mobile computing device; and
programming instructions for recording a time related to the customer signature captured.

17. A mobile computing device as recited in claim 1, wherein the at least one customer order includes a plurality of ordered items, and wherein said memory further stores:
programming instructions for processing, at the mobile computing device, a customer return of at least one of the ordered items of the at least one customer order.

18. A system for facilitating delivery comprising:
at least one server; and
a plurality of mobile computing devices, each of the mobile computing devices including at least one interface for communicating with the at least one server, and a memory configured to store customer delivery data loaded from the at least one server,
wherein each of said mobile computing devices is configured to assist a delivery courier in delivery of at least one customer order, which includes at least one ordered item, to at least one customer using the corresponding customer delivery data, and
wherein each of said mobile computing devices is configured to assist the delivery courier to execute an adjustment transaction, while at the corresponding customer delivery stop, using said mobile computing device to the at least one customer order, the adjustment transaction changing at least a portion of the at least one customer order, and
wherein the adjustment transaction executed on said mobile computing device operates to add at least one item to the at least one customer order, and
wherein customer billing data is associated with the at least one customer order.

19. A system as recited in claim 18, wherein the adjustment transaction executed on said mobile computing device operates to remove at least one item from the at least one customer order.

20. A system as recited in claim 18, wherein said mobile computing device is a handheld computing device.

21. A mobile computing device as recited in claim 1, wherein the mobile computing device is a handheld computing device.

22. A system for facilitating delivery comprising:
at least one server; and
a plurality of mobile computing devices, each of the mobile computing devices including at least one interface for communicating with the at least one server, and a memory configured to store customer delivery data loaded from the at least one server,
wherein each of said mobile computing devices is configured to assist a delivery courier in delivery of at least one customer order, which includes at least one ordered item, to at least one customer using the corresponding customer delivery data, and
wherein each of said mobile computing devices is configured to assist the delivery courier to execute an adjustment transaction using said mobile computing device to the at least one customer order, the adjustment transaction changing at least a portion of the at least one customer order,
wherein the adjustment transaction is received at the corresponding customer delivery stop and executed on said mobile computing device operates to add at least one item to the at least one customer order, wherein at least a portion of the customer billing data is modified based on the adjustment transaction,
wherein said memory further stores:
programming instructions for presenting the modified customer billing data at the customer delivery stop via said display, and
wherein the customer has an account, and wherein the updated customer data reflects a current balance due on the account of the customer following the adjustment transaction.