This application relates generally to the field of computer technology, and in a specific example embodiment, to a system and method for providing alternative fulfillment for a buyer's unfulfilled order.
Websites provide a number of publishing, listing, and price-setting mechanisms whereby a publisher (e.g., a seller) may list or publish information concerning items for sale. Once a buyer places an order for an item, the seller fulfills the order by shipping the item to the buyer. However, delays in the shipment of the item can occur and can result in the buyer's frustration. In another scenario, the shipment may get lost. As a result, the buyer reorders the item.
The present description is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which:
Although the embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the description. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
In various embodiments, a method and a system for providing an alternative fulfillment for a buyer's unfulfillable order are described. The system has an order fulfillment issue detection module, an alternative fulfillment qualification module, a replacement item matching module, and a replacement item order module. The order fulfillment issue detection module detects a fulfillment delay of an item in an order placed in an online marketplace. The alternative fulfillment qualification module determines whether the fulfillment delay qualifies for an alternative fulfillment order. The replacement item matching module determines a replacement item for the item. The replacement item order module cancels the order and replaces the order with the alternative fulfillment order for the replacement item with an alternative seller.
A data exchange platform, in an example form of a network-based publisher 102, may provide server-side functionality, via a network 104 (e.g., the Internet), to one or more clients. The one or more clients may include users that utilize the network system 100 and more specifically, the publication/publisher system 102, to exchange data over the network 104. These transactions may include transmitting, receiving (communicating) and processing data to, from, and regarding content and users of the network system 100. The data may include, but are not limited to, content and user data such as order tracking information; alternative fulfillment data; feedback data; user reputation values; user profiles; user attributes; product and service reviews and information, such as pricing and descriptive information; product, service, manufacturer, and vendor recommendations and identifiers; product and service listings associated with buyers and sellers; auction bids; and transaction data, among other things.
In various embodiments, the data exchanges within the network system 100 may be dependent upon user-selected functions available through one or more client or user interfaces (Ms). The UIs may be associated with a client machine, such as a client machine 106 using a web client (e.g., web browser) 110. The web client 110 may be in communication with the network-based publisher 102 via a web server 120. The UIs may also be associated with a client machine 108 using a programmatic client 112, such as a client application. It can be appreciated that in various embodiments, the client machines 106 and 108 may be associated with a buyer, a seller, a third party electronic commerce platform, and/or a payment service provider. The buyers and sellers may be any one of individuals, merchants, or service providers, among other things.
Furthermore, a shipping carrier server 132 of a shipping service provider may be in communication with the network-based publisher 102 and optionally with client machines 106 and 108. The shipping carrier server 132 includes a shipping carrier application 116 to provide a shipping tracking mechanism to the client machines 106 and 108 and the application server 122. The shipping tracking mechanism allows the client machines 106 and 108 and the application server 122 to determine the status of a shipment for an item associated with an order placed by a buyer.
Turning specifically to the network-based publisher 102, an application program interface (API) server 118 and a web server 120 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 122. The application servers 122 host a publication application 124 and an alternative fulfillment application 130. The application servers 122 are, in turn, shown to be coupled to one or more database server(s) 126 that facilitate access to one or more database(s) 128.
In one embodiment, the web server 120 and the API server 118 communicate about and receive data pertaining to listings, transactions, order tracking information, and feedback, among other things, via various user input tools. For example, the web server 1120 may send and receive data to and from a toolbar or webpage on a browser application (e.g., web client 110) operating on a client machine (e.g., client machine 106). The API server 118 may send and receive data to and from an application (e.g., client application 110 or shipping carrier application 116) running on another client machine (e.g., shipping carrier server 132).
The publication application 124 may provide a number of publisher functions and services (e.g., listing, payment, etc.) to users that access the network-based publisher 102. For example, the publication application 124 may provide a number of services and functions to users for listing goods and/or services for sale, facilitating transactions, and reviewing and providing feedback about transactions and associated users. The publication application 124 may further provide a shipment status related to a transaction.
The alternative fulfillment application 130 detects whenever an order is experiencing an issue by observing shipment tracking information or via another notification method. If a delay or loss is detected, the alternative fulfillment application 130 will check with a predefined list of alternative sellers and/or local stores to replace the buyer's order under the same order criteria, and within the same delivery estimate timeframe. Embodiments of the alternative fulfillment application 130 are further described below.
The order fulfillment issue detection module 202 detects a fulfillment delay of an item in an order placed in an online marketplace (e.g., publication application 124 of
The alternative fulfillment qualification module 204 determines whether the fulfillment delay qualifies for an alternative fulfillment order. The system can detect if an order is experiencing an issue by observing shipment tracking information from a third-party shipping carrier or from a notification status.
If a delay or loss is detected, the replacement item matching module 206 determines a replacement item for the item. In other words, the replacement item matching module 206 checks with a predefined list of alternative sellers and local physical stores to determine whether to replace the original's buyer's order under the same order criteria and within the same delivery estimate timeframe. Upon confirming the availability of alternative fulfillment options, the system may inquire the buyer for approval to allow a different source to fulfill their order. The replacement order would have some fixed variables. However, the buyer could have some flexibility to customize their replacement order.
Once the approval is submitted to the system from the buyer, the replacement item order module 208 cancels the order and replaces the order with the alternative fulfillment order for the replacement item. The system would then communicate the arrangements or specifics of the alternative order to the selected alternative seller or local physical store to fulfill the replacement order.
The shipping tracking module 302 analyzes shipping tracking information of the item to determine a delay in the delivery. In one embodiment, the shipping tracking module 302 communicates with the shipping carrier application 116 of the shipping carrier server 132 to retrieve a status of the shipment of the item from the original order placed by the buyer with the publication application 124. Those of ordinary skill in the art will recognize that the alternative fulfillment application 130 may include an API to communicate with the shipping carrier application 116. In one embodiment, the shipping carrier application 116 may be configured to generate a notification of a delay of the delivery of the item to the shipping tracking module 302.
In another embodiment, the shipping tracking module 302 may also be configured to determine whether the item has been lost during shipping or otherwise has not been or cannot be fulfilled.
The status communication module 304 monitors a status inquiry for the item from a buyer, a seller, or a customer service representative of the online marketplace. For example, the status communication module 304 may determine any shipping status inquiry from the buyer to the seller with respect to the shipment of the item. In another example, the status communication module 304 may determine that the seller has contacted the customer service of the online marketplace of the publication application 124 about a shipping delivery issue.
Thus, the order fulfillment issue detection module 202 determines the fulfillment delay of the item based on the shipping status of the item and/or the status inquiry for the item.
The item category module 402 determines a category of the item. For example the item may belong to an electronic or apparel category.
The item condition module 404 determines a condition of the item. For example, the item condition module 404 determines whether the item ordered is new, used, or refurbished.
The average selling price module 406 determines an average selling price of the item. For example, the average selling price module 406 may calculate the average selling price of the item from other sellers of the online marketplace selling the same item.
The buyer purchase history module 408 analyzes a purchase history of a buyer of the item in the online marketplace. For example, the purchase history of the buyer may include how many times or how often the buyer has purchased the same item from the same seller or other sellers.
The check out option module 410 determines a check out option for the order in the online marketplace. For example, the check out option module 410 determines whether the buyer has selected expedited shipping or whether the order constitutes a gift.
The alternative fulfillment qualification module 204 determines whether the fulfillment delay qualifies for an alternative fulfillment order based on the category of the item, the condition of the item, the average selling price of the item, the purchase history of the buyer, and the check out option of the order. For example, if the buyer has ordered a digital camera that is available from other sellers in the same condition new or used) and the average selling price of the digital camera is about the same as what the buyer has paid for in the original order, the buyer may be eligible for an alternative fulfillment order should there be an issue with the original order. In another example, if the buyer has selected an expedited shipping option in the original order, the alternative sellers would need to meet the same criteria for the expedited shipping so that the item could be replaced by the same estimated delivery date of the original order.
The alternative fulfillment qualification module 204 determines if an order qualifies for an alternative fulfillment so to maximize chances of matching alternate items, to maximize buyer retention, and to maximize the online marketplace benefit.
The delivery schedule computation module 502 calculates a time needed for an on-schedule delivery to a buyer of the item in the order. For example, the delivery schedule computation module 502 determines how much time is left from the time the shipping issue has been flagged by the order fulfillment issue detection module 202 to the delivery estimated time from the original order.
The alternative seller search engine 504 evaluates alternative setters with inventory matching the item and shipping criteria, matching the order. For example, the alternative seller search engine 504 determines which alternative sellers have the same item in stock and are able to ship and deliver to the buyer by the original estimated delivery date of the original order. In another embodiment, the alternative seller search engine 504 may determine which alternative sellers can deliver the same item (regardless of whether they have it in stock at the moment) to the buyer at about the original estimated delivery date of the original order. In another example, the alternative seller search engine 504 may search for sellers that are capable of matching the shipping criteria of the original order. In other words, an alternative seller needs to be capable of expedited shipping when the checkout option of the original order indicates that the item needs to be shipped in an expedited manner.
The buyer location module 506 identifies a location of the buyer. For example, the buyer location module 506 determines the delivery address of the buyer from the original order placed on the online marketplace. In another embodiment, the location of the buyer may include a mailing address of the buyer, a billing address of the buyer, a work address of the buyer, or an address of a recipient of the item.
The local store search module 508 searches for physical stores of the alternative sellers within a predetermined distance from the location of the buyer with inventory matching the item. For example, the local store search module 508 searches for local physical store within a 10-mile radius of the delivery address specified by the buyer.
The distance computation module 510 calculates a distance between the location of the buyer and the location of the alternative sellers, and a distance between the location of the buyer and the location of the physical stores of the alternative sellers. For example, the distance computation module 510 calculates the distance between the buyer and the shipping source of the seller. The shipping source of the seller may be the physical address from which the seller is shipping the item. In another example, the distance computation module 510 calculates the distance between the buyer and a physical store of an alternative seller nearby.
The cost differential computation module 512 calculates a cost difference between the order and the alternative fulfillment order. For example, the cost difference between the order and the alternative fulfillment order may be due to the price difference between the original seller and the alternative seller and the different shipping costs between the original seller and the alternative seller. The original seller may use a different shipping carrier from the alternative seller.
The replacement item matching module 206 determines the replacement item for the item from an alternative seller based on the time needed for an on-schedule delivery to the buyer, availability of alternative sellers with inventory and shipping criteria, matching the order, the location of the buyer, physical stores of the alternative sellers within the predetermined distance from the location of the buyer with inventory matching the item, the distance between the location of the buyer and the location of the alternative sellers, the distance between the location of the buyer and the location of the physical stores of the alternative sellers, and the cost difference between the order and the alternative fulfillment order. For example, the replacement item matching module 206 may determine that the same item can be picked up from a local physical store for about the same price as the original order. In another example, the replacement item matching module 206 may determine that the same item can be delivered to the buyer by the original estimated delivery date for about the same price as the original order.
The original order cancellation module 602 cancels the order. The alternative fulfillment order generation module 604 generates the alternative fulfillment order for the replacement item. In one embodiment, the original order cancellation module 602 recoups hinds from the original seller. The redemption receipt module 606 generates a redemption receipt to the buyer for the buyer to pick up the replacement item from a local physical store of an alternative seller of the replacement item. The redemption receipt may include, for example, a machine-readable code to be scanned at the local physical store to redeem the item. The redemption receipt module 606 may also notify the local physical store of the machine-readable code associated with the alternative fulfillment order.
At 1116, the buyer is notified that the item is available from an alternative seller or from a local physical store to the buyer.
The buyer can decide to view the alternative option at 1118. If the buyer decides to proceed with the alternative order, the alternative fulfillment application 130 updates the order details to show the current status at 1120.
At 1122, the alternative fulfillment application 130 determines whether the same item is available from an alternative seller. If it is available, the alternative fulfillment application 130 determines whether the best match item has been selected from the seller at 1124. If the best item has been selected, the order is replaced at 1128. The alternative fulfillment application 130 notifies and send a shipping label to the alternate seller at 1130.
If there are no best match items from the seller at 1124, the alternative fulfillment application 130 looks for matches from alternative sellers at 1126.
If the buyer decides not to get same item from the alternative seller at 1122, the buyer has the option to pick up the same item from a local physical store at 1132. At 1134, the alternative fulfillment application 130 selects the best match item from the alternative local physical store. Once the item has been matched from the local physical store, the order is replaced at 1142. In one embodiment, the alternative fulfillment application 130 provides a redemption receipt to the buyer at 1144. At 1146, the alternative fulfillment application 130 notifies the local physical store of the replacement order generated at 1142.
If the buyer decides not to pick up the same item from a local physical store from an alternative seller at 1132, the alternative fulfillment application 130 cancels the original order at 1136 and provides the buyer a refund at 1138. At 1148, the order details are updated.
The example computer system 1200 includes a processor 1202 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1204 and a static memory 1206, which communicate with each other via a bus 1208. The computer system 1200 may further include a video display unit 1210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1200 also includes an alphanumeric input device 1212 (e.g., a keyboard), a user interface (UI) navigation device 1214 (e.g., a mouse), a disk drive unit 1216, a signal generation device 1218 (e.g., a speaker) and a network interface device 1220.
The disk drive unit 1216 includes a machine-readable medium 1222 on which is stored one or more sets of instructions and data structures software 1224) embodying or utilized by any one or more of the methodologies or functions described herein. The software 1224 may also reside, completely or at least partially, within the main memory 1204 and/or within the processor 1202 during execution thereof by the computer system 1200, the main memory 1204 and the processor 1202 also constituting machine-readable media.
The software 1224 may further be transmitted or received over a network 1226 via the network interface device 1220 utilizing any one of a number of well-known transfer protocols (e.g., HTTP).
While the machine-readable medium 1222 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present description or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.