US20170316490A1 - System and method for enabling online ordering using unique identifiers - Google Patents
System and method for enabling online ordering using unique identifiers Download PDFInfo
- Publication number
- US20170316490A1 US20170316490A1 US15/653,265 US201715653265A US2017316490A1 US 20170316490 A1 US20170316490 A1 US 20170316490A1 US 201715653265 A US201715653265 A US 201715653265A US 2017316490 A1 US2017316490 A1 US 2017316490A1
- Authority
- US
- United States
- Prior art keywords
- business
- order
- online
- customer
- option
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
- G06Q30/0637—Approvals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
Definitions
- 61/818,736 filed on May 2, 2013 and entitled “SYSTEMS AND METHODS FOR CROSS-MEDIUM AUTOMATIC TYPESET MENUS, FRICTION-FREE ORDERING, AUTOMATIC WEB PRESENCE CREATION, AND AUTOMATED SEARCH ENGINE MARKETING” and U.S. Provisional Patent Application Ser. No. 61/818,713 filed on May 2, 2013 and entitled “SYSTEMS AND METHODS FOR AUTOMATED DATA CLASSIFICATION, MANAGEMENT OF CROWD WORKER HIERARCHIES, AND OFFLINE CRAWLING.”
- the present invention relates to systems and methods for web-based restaurant ordering or other retail ordering. More particularly, the invention relates to systems and methods for automatically submitting online orders from a customer to a business using an order engine to optimize online ordering efficiency and to automate online ordering for the business.
- take-out ordering requires a plurality of challenging preconditions for both the customer and the business.
- the customer must have access and knowledge of the business's menu. This requires the customer to find a physical menu or obtain a copy of the menu online which is time consuming and does not guarantee the customer has the most up-to-date menu.
- the customer is required to know how to place an order.
- Some businesses have websites that customers can directly order from, however, other businesses may not even have a website and the customer is required to directly call the business to place an order.
- Customers are also required to know the location of the business they wish to place an order from relative to their present location.
- the present invention overcomes the aforementioned drawbacks by providing a system and method for automatically submitting an online order from a customer to a restaurant, without requiring the business to sign-up for a service prior to receiving orders.
- Input data and customer data is used by an order engine to select a deployment platform, such as social media networks, search engines, mobile applications, and related websites, for a user interface.
- the user interface automatically populates the restaurant's menu options and business data, allowing the customer to seamlessly build an order without redirecting the customer to a dedicated page or impacting the current design of the restaurant's menu.
- the order engine submits the order to the restaurant via a non-verbal communication platform.
- An automated confirmation call is generated to the restaurant confirming receipt of the order. From the confirmation call the restaurant may choose to repeat the message, accept the order, connect to the customer, connect to the service provider, decline the order, or opt-out.
- the order engine allows the restaurant to monitor online orders and to, optionally, enroll in the above services for subsequent online orders.
- a system for enabling a user to submit an online order to a business includes a processor configured to access a non-transitory, computer-readable storage medium having stored thereon unique identifiers corresponding to input data related to corresponding businesses.
- the processer is configured to execute an order engine to carry out the steps of receiving, from an application running on a computer operated by the user, information to identify a business indicated within content displayed on the computer operated by the user.
- the order engine may also be configured to access the non-transitory, computer-readable storage medium to identify a unique identifier corresponding to the business using the information received from the application.
- a method for enabling a user to submit an online order to a business includes receiving unique identifiers corresponding to input data related to corresponding businesses configured to be analyzed by an order engine.
- Information to identify a business indicated within content displayed on a computer operated by the user is received from an application running on the computer.
- a non-transitory, computer-readable storage medium is then accessed to identify a unique identifier corresponding to the business using the information received from the application.
- the input data related to the business for display on the computer operated by the user is provided despite the business having no previously-established business relationship with the order engine.
- An online order to be placed with the business is received from the application running on the computer operated by the user, and the online order to the business is then submitted.
- One or more response options are provided for the business to communicate acceptance of the online order.
- FIG. 1 is a schematic view of an environment in which an embodiment of the invention may operate.
- FIG. 2 shows a representation of an example image of restaurant input data.
- FIG. 3 is a flow chart setting forth the steps of processes for automatically submitting an online order from a customer to a business.
- FIG. 5 shows an example screen shot of an example user interface by which the customer can submit an online order to the business.
- FIG. 7 is a flow chart setting forth the steps of processes for providing restaurant input data to a customer through a third party provider using unique identifiers.
- the business input data 12 of FIG. 1 is obtained at process block 102 .
- the business input data may be obtained by the order engine without involvement of the business.
- the order engine may obtain business input data related to the business from existing online and offline information (e.g., a business menu, business website, business advertisements, and the like).
- the business input data may include any data related to the business, for example.
- the business input data may be a menu, such as a restaurant menu, as shown at block 104 .
- Item Names include “Beriyani”, “Chicken Shawarma”, and “Lamb Chop”, for example.
- Item Description is “Chicken cutlet cubes sautéed with garden vegetables in a garlic-tomato sauce”.
- Item Prices include, but are not limited to, “9.99”, “12.99”, and “13.99”.
- Item Options may include how well a meat dish is cooked (not shown in FIG. 2 ).
- the business input data may also include a location of the business as shown at block 106 .
- the business location 106 may include a business and/or home address, city, state, zip code and country, for example.
- a business phone number and/or fax number, as shown at block 108 may be another form of business input data retrieved at process block 102 .
- a business email address, as shown at block 110 may be yet another from of business input data.
- Business hours is business input data that may include the business's normal operating hours, specific delivery hours, specific hours for take-out orders, and the like. The business hours 112 , along with the other business input data, is provided to the order engine 20 of FIG. 1 to automatically provide the online ordering interface, as will be described below, to different deployment platforms to optimize the business's online ordering efficiency and increase online orders.
- the order engine may provide the online ordering interface in the form of advertisement on Facebook, or embed a widget on a social media network's or search engine's website to direct customers to the online ordering interface that corresponds to business's menu.
- Other deployment platforms may include mobile applications, such as those running on the IPHONE or ANDROID devices, as shown at block 120 , or any website related to the business (e.g., the business's local website, the business's local Facebook page, and the like), as shown at block 124 .
- the order engine may obtain the business input data, without the involvement of the business, to be displayed on the user interface 200 .
- the order engine can provide some or all of the business input data to facilitate take-out ordering that provides a seamless experience to the customer and drives customers to the business.
- the customer may be provided the restaurant menu 202 on the user interface 200 , as shown in FIG. 5 .
- the customer may select one or more of the business offerings 204 to add to the online order.
- a window 208 may appear on the user interface 200 .
- the window 208 may include a brief description of the menu item, an instructions window 210 for the customer to provide specific requests related to the selected menu item, and buttons 212 to add or remove the menu item from the online order.
- an add to order button 214 may be provided on the window 208 for the customer to select.
- the user interface 300 may provide a summary of the online order 316 with an estimated total for the selected menu items, for example.
- the user interface 300 may display the business input data 302 for the business, including the business name, business address, business phone number, and business hours (not shown).
- a name section 304 may also be provided for the customer to enter a name to be associated with the online order.
- a phone number section 306 may be provided on the user interface 300 for the customer to enter a phone number in case the customer would need to be contacted about the online order.
- An email section 308 may also be provided for the customer to provide an email address to be associated with the online order. The email address may be required prior to the customer submitting an online order, such that a confirmation email from the order engine may be sent to the customer.
- the customer may manually enter the customer related data into the name section 304 , the phone number section 306 , and the email section 308 of the user interface 300 . However, if the customer has an existing customer account, as determined at decision block 128 , or the customer generated a customer account at decision block 134 , the customer related data may automatically be populated on the user interface 300 .
- radio buttons 310 may be provided to the customer to identify an approximate time period (e.g., number of minutes) for which the order will be picked up at the business location. Similar radio buttons may be provided on the user interface 300 for the customer to select to identify an approximate time for which the order should be delivered to the customers address or present location, for example.
- a submit button 312 may be selected by the customer to submit the online order to the order engine.
- the order engine does not require the customer to provide payment information for the online order. In one non-limiting example, payment for the online order is handled between the customer and the business since take-out orders involve in-person pickups or delivery.
- the order engine determines if the confirmation call was received by the business at decision block 166 . For example, if the automated call fails due to a busy signal or the detection of an incorrect phone number for the business, the order engine determines that the call was not received at decision block 166 . Thus, if the call is not received at decision block 166 , the order engine may attempt to submit the online order to the business again at process block 152 . This process may continue until the order engine determines that the automated confirmation call is received by the business at decision block 166 .
- the online order may be sent to a specialist that will attempt to reach the restaurant manually to update the status of the order. If the specialist cannot get through to the business, the consumer who issued the online order may be notified of the failed attempt to get his/her order through. Thus, the order engine does not issue a confirmation to the customer until confirmation that the business has received the details of the order via the communication platform is determined at decision block 166 .
- the order engine may be configured to automatically send an order confirmation message to the customer via the communication platform, as shown at process block 191 .
- the order confirmation message may communicate to the customer that the online order will be processed by the business.
- the communication platform used to notify the customer may be email, phone, or text message, for example.
- the business may choose to connect to the customer.
- the order engine Before the order engine connects the business to the customer, the order engine may be configured to contact the customer via one of the communication platforms, as shown at process block 194 , to verify that customer would like to connect with the business. If the customer confirms the connection at decision block 195 , the order engine connects the customer and the business to complete the online order transaction at process block 196 . However, if the customer does not confirm the connection to the business at decision block 195 , the order engine may automatically notify the customer via the communication platform that the online order will not be processed by the business at process block 193 , and the order engine may suggest that the customer contact the business directly.
- the business may choose to opt-out from receiving further online orders from the order engine.
- the order engine may automatically notify the customer via the communication platform that the online order will not be processed by the business at process block 198 , and the order engine may suggest that the customer contact the business directly.
- the business may receive synchronous feedback with asynchronous ordering to bring more take-out traffic to the business. This can be accomplished by configuring the order engine to track business metrics, such as recording the quantity of consumer orders related to the different deployment platforms that the online ordering interfaces are provided on, as well as, tracking revenues received from the consumer orders.
- consumer related data 14 shown in FIG. 1 may then be obtained. Once the consumer related data has been obtained, the data may be stored in the remote content source 10 of FIG. 1 for retrieval by the order engine 20 at any time.
- the order engine 20 may be continuously updating the online orders to optimize the business's online ordering efficiency and increase the quantity of online orders.
- search engine data such as keywords searched by consumers on the deployment platforms, may be consumer related data obtained and used by the dynamic order resource manager to generate a search engine optimization (SEO) strategy for the business.
- the SEO strategy may include, for example, generating a list of business specific keywords based upon some, or all, of the business input data obtained at process block 102 of FIG. 3 .
- the order engine may determine that the menu items offered by the restaurant may be candidate keywords for the keyword list.
- the order engine may determine that menu items, such as “Chicken beriyani” and “Beef Beriyani” are adequate keywords to include in the SEO strategy.
- menu items may be good candidates for the keyword list because they can target consumers that are searching for the offering provided by the business.
- the list of keywords can be based on the business type or sub-type (e.g., cuisines), business name (e.g., Dim Sum, Restaurant), menu item prices, or any other business input data obtained at process block 102 .
- the deployment platform(s) is determined for the online ordering interface.
- the deployment platform may include, but is not limited to, search engines, social media networks, mobile applications, and business related websites, as previously described.
- the SEO strategy can bring more take-out traffic to select businesses, and the take-out service provider can optionally drive more traffic to take-out web-pages, for example by purchasing relevant keywords for the business.
- the take-out service provider can sign-up more businesses for its service.
- the SEO strategy may use customizable JavaScript based menu widgets. The JavaScript may run in the customer's browser. Additionally, or alternatively, if the JavaScript is a Google Chrome Extension, the online ordering interface including the business's menu could be returned with the search results entered by the customer.
- the take-out service provider can optionally provide businesses the ability to enable ordering capability directly from the business's own website, mobile site or Facebook page, mobile applications (e.g., running on the IOS or ANDROID operating system), and the like.
- the order engine can provide the business with an SEO friendly stylized widget powered menu, for example, on its website having built-in take-out functionality.
- the take-out service provider powers menu widgets on third party company websites or drives content in mobile applications, for example, it can further expand the reach of its service by enabling take-out widgets on these online properties or mobile applications.
- the order engine can utilize a unique identifier, such as a number, for each business that it has stored in the remote content source 10 of FIG. 1 .
- the unique identifier can be used by third parties, such as online content providers, to include the menu for a given business in a listing, a review, and the like.
- the order engine may can accommodate situations where the third party knows the unique identifier and/or work with content providers and/or users of content provider sites to provide information from the order engine to reach end users.
- a widget or small JavaScript for example, can be used by the third party to identify businesses included in the content and communicate with the order engine to return the menu for the business included in the third party content.
- the widget or small JavaScript can be used by the third party or the end user to identify businesses included in the content and communicate with the order engine to return additional content, such as a menu, for the business included in the third party content.
- the third party may generate internal business identifiers that correspond to businesses, such as restaurants.
- the third party may interact with the order engine to map the internal business identifiers to the unique identifiers provided by the order engine.
- the order engine may further provide widget code, for example, that is embedded into the HTML file associated with the third party's online content.
- the widget code may be stored on the remote content source 10 of FIG. 1 and may have the following format:
- the order engine may receive a request from the browser including a business identifier (i.e., the identifier provided by the third party for a particular business) at process block 402 .
- the browser may identify a widget tag, for example, in the HTML.
- the widget tag may be stored by the local browser and may have the following format:
- the order engine may provide the unique identifier at process block 404 that corresponds to the business identifier provided by the third party.
- the order engine may receive a browser request for the widget code from the remote content source, for example.
- the order engine may retrieve the data (in this non-limiting example, menu data, “menu_content,” identified in the widget tag) from the remote content source based on the unique identifier provided at process block 404 and included in the widget tag.
- the order engine may be configured to create an interactive file, for example a JavaScript file, using the widget code and the menu data embedded in the widget tag.
- the order engine may provide the file to be run at process block 412 .
- the browser may run the widget code and find the menu data (i.e., the menu_content element identified in the widget tag) within the content provided.
- the menu data is displayed for the business corresponding to the unique identifier.
- the user is provided with an interactive widget, for example, for the business identified in the content provided by the third party.
- the unique identifier may not be known or stored by the third party and, thus, it may be desirable to provide input data to a customer despite the third party not knowing or storing the unique identifiers.
- the third party may provide business input data, such as a business name, address, and phone number as the business identifier, but not have a unique identifier to communicate to the order engine.
- the order engine may then map the business input data provided by the third party with the unique identifiers accessible by the order engine.
- the order engine may further provide widget code, for example, that supplements the third party's online content with further interactive business information.
- the widget code may be stored on the remote content source 10 of FIG. 1 and may have the following format:
- the order engine matches the business input data (i.e., business name, address, and phone number) with the business input data stored on the remote content source.
- the business input data may be inconsistent with the business input data stored, and accessible to the order engine, on the remote content source. For example, several phone numbers may be available for a particular restaurant. Therefore, the business phone number provided by the third party may be different from the business phone number for the same restaurant that is stored on the remote content source for the order engine. In such cases, a machine learning algorithm and elastic search strategy may be utilized, as will be described in further detail below.
- the order engine may receive a request from the browser including a business identifier (i.e., the identifying information provided by the third party for a particular business, such as name, address and city information) at process block 502 .
- a business identifier i.e., the identifying information provided by the third party for a particular business, such as name, address and city information
- the browser may identify a widget tag, for example, in the HTML.
- the widget tag may be stored by the local browser and may have the following format:
- the order engine may receive the corresponding business input data from the third party at process block 504 that corresponds to the business identifier information.
- the order engine may receive a browser request for the widget code, for example.
- the order engine matches the given business input data provided to the business input data stored on the remote content source 10 , for example, of FIG. 1 in order to provide a unique identifier.
- a machine learning algorithm and elastic search strategy may be configured to initiate the order engine to search for and discover new keywords corresponding to the business input data.
- the machine learning algorithm and elastic search strategy may be used by the order engine to compensate for any discrepancies between the business input data provided and the business input data available to the order engine.
- the machine learning algorithm and elastic search strategy at block 513 may be based on genetic mutations, for example, that use a set of mutation functions, such as phrase splitting, word joining, word stemming, order changing, and so on, to compensate for any discrepancies between the business input data provided by the third party and the business input data provided by the order engine.
- phrase extension mutator may be configured to combine keywords identified in the business input data provided by the third party and the business input data provided by the order engine. For example, if the business name provided by the third party includes “bistro,” “central,” and “park,” for example, the phrase extension mutator may combine the keywords into the complete business name “bistro central park”, which may be the business name stored on the remote content source accessible by the order engine. Additionally, or alternatively, the phrase extension mutator may combine keywords with a set of handpicked verbs or phrases for the particular business.
- the synonym finder may be configured to randomly substitute words in a given phrase for known synonyms or similar items and categories associated with the keyword corresponding to the business input data. In so doing, the synonym finder will likely indicate to the order engine that the word “street” may be substituted with “st.”. Thus, if the third party provides business input data including a business address that includes the word “street,” and the business input data provided by the order engine includes a business address with the abbreviation “st.”, the machine learning algorithm and elastic search strategy will compensate for this discrepancy in order for the order engine to provide the correct unique identifier at process block 508 . Additionally, or alternatively, the machine learning algorithm and elastic search strategy may be a keyword generalizer, for example. The keyword generalize may be configured to remove pluralization or stop words, for example, from the business input data that may vary between the third party and the order engine.
- the order engine may retrieve the menu data (i.e., the menu_content identified in the widget tag) from the remote content source based on the unique identifier.
- the order engine may be configured to create an interactive or executable file, for example a JavaScript file, using the widget code and the business data, such as menu data, embedded in the widget tag.
- the order engine may provide the interactive file to run on the browser at process block 514 .
- the browser runs the widget code and finds the business data (i.e., the menu_content element identified in the widget tag) within the content provided by the third party.
- the business data is displayed for the business corresponding to the unique identifier.
- the user is provided with an interactive menu, for example, for the business identified in the content provided by the third party.
- the third party choose not to work with or be capable of communicating with the order engine to obtain the unique identifier corresponding to each business.
- a program, application, script, extension, or similar construct may be used to determine the unique identifier or otherwise connect the order engine with the content and provide the content to the end user.
- the script may be a JavaScript, for example, that automatically determines the unique identifier for each business by scanning the content of the third party.
- the third party can run the script so that menus, for example, can be provided for the businesses referenced in the third party's content.
- a user-side script, application, or widget may be used.
- the client-side script, application, or widget can be used to scan the content of the online news paper to identify businesses or business information and access the unique identifiers corresponding to each business.
- the order engine may provide the business information, such as a menu, for the business to the user.
- FIG. 9 a flow chart is provided setting forth exemplary steps 600 for automatically providing restaurant input data to a customer based on business identified in a third party's content, when the third party does not know or have the capability to communicate to determine the unique identifiers.
- the third party does not actively provide business input data, such as a business name, address, and phone number as the business identifier.
- the order engine is required to automatically identify the business input data within the content by providing automatic widget code, for example, that is used to access the third party's online content.
- the automatic widget code may be stored on the remote content source 10 of FIG. 1 and may have the following format:
- the corresponding business input data is determined by scanning the third party's online content to identify business input data (i.e., business name, address, and phone number) and then matched with the business input data stored on the remote content source.
- business input data i.e., business name, address, and phone number
- the business input data identified within the third party content may be inconsistent with the business input data stored and accessible to the order engine on the remote content source. Therefore, a machine learning algorithm and elastic search strategy may be utilized.
- the order engine may receive a request from the browser at process block 602 .
- the browser may identify a widget tag.
- the widget tag may be stored by the local browser and may have the following format:
- the order engine may receive a browser request for the automatic widget code from the remote content source at process block 604 .
- the order engine may then provide the automatic widget code to the browser and run the automatic widget code at process block 606 .
- Running the automatic widget code enables a scan of the third party content and acquisition of the business input data (e.g., business name, address, and phone number) from the online content at process block 608 .
- the automatic widget code may scan the third party contents to find a business name and address, such as “Bistro Central Park, 560 Central St, San Francisco, Calif. 94117”.
- the automatic widget code may be configured to identify microformats, for example, to standardize how the automatic widget codes scans the online content for business input data.
- the online content may be scanned for suitably formatted hCards to allow the order engine to automatically process the business input data, such as the address.
- the order engine may use third party-specific modifications to identify the business input data within the third party content. Further still, the order engine may simply scan and determine the business input data despite any clear indicators of business input data within the third party content. In this case, contextual analysis may be performed, such as looking for proximately located information that generally matches an address format or the like.
- the order engine may be configured to insert another widget tag, including the identified business input data at process block 610 .
- the browser may identify the widget tag, for example, in the HTML.
- the widget tag may be stored by the local browser and may have the following format:
- the order engine matches the business input data identified by the automatic widget code to the business input data stored on the remote content source 10 , for example, of FIG. 1 in order to provide a unique identifier.
- the machine learning algorithm and elastic search strategy may be configured to initiate the order engine to search for and discover new keywords corresponding to the business input data.
- the machine learning algorithm and elastic search strategy may be used by the order engine to fix any discrepancies between the business input data identified by the automatic widget code and the business input data provided by the order engine.
- the machine learning algorithm and elastic search strategy may be based on, as previously described, genetic mutations, a phrase extension mutator, a synonym finder, and/or a keyword generalizer, for example.
- the order engine may retrieve the menu data from the remote content source corresponding to the unique identifier.
- the order engine may be configured to create an interactive or executable file, for example a JavaScript file, using the widget code and the menu data embedded in the widget tag.
- the order engine may provide the interactive file to run on the browser at process block 618 .
- the browser runs the widget code.
- the menu data is displayed for the business information found within the third party content. That is, the user is provided with an interactive menu, for example, for the business identified in the content provided by the third party.
- the above described script, application, and/or widget used to identify businesses included in the third party's content is not limited to online newspapers.
- the script, application, and/or widget may be deployed in web browsers as a browser extension.
- the browser extension may be a Google Chrome Extension that provides a user the ability to hover over a web-link, for example, to return the menu corresponding to one or more businesses displayed by the web browser.
- the user may be provided the business menu and the ability to place an online order for the business through the order engine.
- the above described systems and methods enable businesses, such as restaurants, to receive more business via existing communication methods and provides the opportunity for a restaurant to enroll in a take-out service.
- An additional benefit to the resulting service is that it allows the take-out order service's company to acquire new restaurant customers for its services at a low cost and at scale provided the prerequisites are met.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
A system and method for automatically submitting an online order from a customer to a restaurant. Input data and customer data is used by an order engine to select a deployment platform, such as social media networks, search engines, mobile applications, and related websites, for a user interface. The order engine provides a unique identifier for each restaurant. The unique identifier can be used by third parties, such as online content providers, to return the menu for the restaurant included in the third party content. The user interface automatically populates the restaurant's menu options and business data, allowing the customer to build an order. The order engine submits the order to the restaurant via a non-verbal communication platform.
Description
- This application is a continuation of U.S. patent application Ser. No. 14/296,331 filed on Jun. 4, 2014, and entitled “SYSTEM AND METHOD FOR ENABLING ONLINE ORDERING USING UNIQUE IDENTIFIERS,” which is a continuation-in-part of, is based on, claims the benefit of, and incorporates herein by reference U.S. patent application Ser. No. 14/267,686 filed May 1, 2014 and entitled “METHOD FOR MANAGEMENT OF ONLINE ORDERING,” which is based on and claims priority to U.S. Provisional Patent Application Ser. No. 61/818,736 filed on May 2, 2013 and entitled “SYSTEMS AND METHODS FOR CROSS-MEDIUM AUTOMATIC TYPESET MENUS, FRICTION-FREE ORDERING, AUTOMATIC WEB PRESENCE CREATION, AND AUTOMATED SEARCH ENGINE MARKETING” and U.S. Provisional Patent Application Ser. No. 61/818,713 filed on May 2, 2013 and entitled “SYSTEMS AND METHODS FOR AUTOMATED DATA CLASSIFICATION, MANAGEMENT OF CROWD WORKER HIERARCHIES, AND OFFLINE CRAWLING.”
- The present invention relates to systems and methods for web-based restaurant ordering or other retail ordering. More particularly, the invention relates to systems and methods for automatically submitting online orders from a customer to a business using an order engine to optimize online ordering efficiency and to automate online ordering for the business.
- In today's fast-paced world, many people do not always have the time to cook at home nor the energy to dine out. Instead, they turn to carry-out and/or delivery restaurants. Typically, to place a carry out order a customer will either telephone the restaurant and place an order for pick-up or delivery, or stop by the restaurant to place the order and wait for the food to be prepared. Both of these methods have their downsides. For example, customers often call in to restaurants with a menu in hand, but the menu is one that has been lying around the house for years and is incorrect and outdated. Some restaurants are noisy and there are often significant communication problems, first verbal with the customer and then the cook or chef must decipher the employee order-taker's handwriting. Thus, resulting orders may not even turn out to be what the customer intended, resulting in a large margin for error and customer dissatisfaction throughout the process.
- On the restaurant side, the nature of a telephone call demands immediate attention and this is often frustrating for employees fielding many calls and trying to serve the orders at the same time. It is also frustrating for customers if they sense that they do not have the employees' undivided attention. In sum, telephone ordering between a customer and a restaurant can be a frustrating and error-prone process, one that is not good for business.
- As a result, there have been many attempts at in-house ordering systems to reduce error. For example, many fast food restaurants have graphical cash registers with icon representations of food items to avoid entry errors. The register then sends the order directly to the cooks to avoid transcription errors. However, no such level of automation currently exists in the carry-out world, where the telephone is still the primary means of communication.
- Other ordering systems require the direct involvement of a restaurant owner in the form of a sign-up to a service and a relationship with the take-out order provider. The order is generally placed via a web page or a mobile application on the take-out service provider site or mobile application. However, this system requires the restaurant to sign-up for a dedicated take-out service which requires the issuer of the order to look-up and type in a full order and hope the restaurant will honor the order upon receipt.
- Additionally, take-out ordering requires a plurality of challenging preconditions for both the customer and the business. For example, the customer must have access and knowledge of the business's menu. This requires the customer to find a physical menu or obtain a copy of the menu online which is time consuming and does not guarantee the customer has the most up-to-date menu. Further, the customer is required to know how to place an order. Some businesses have websites that customers can directly order from, however, other businesses may not even have a website and the customer is required to directly call the business to place an order. Customers are also required to know the location of the business they wish to place an order from relative to their present location. Knowledge of the distance between the customers current location and the business determines whether the business will deliver, for example, or whether the customer is willing to travel to the business to pick up the order. The business, on the other hand, is required to determine the appropriate means of distributing order related information to the customer which can be time consuming and increase operational costs.
- Thus, there is a need for a system and method for a service provider to offer restaurants an online ordering service for their customers that is more efficient and error-free than call-in ordering.
- The present invention overcomes the aforementioned drawbacks by providing a system and method for automatically submitting an online order from a customer to a restaurant, without requiring the business to sign-up for a service prior to receiving orders. Input data and customer data is used by an order engine to select a deployment platform, such as social media networks, search engines, mobile applications, and related websites, for a user interface. The user interface automatically populates the restaurant's menu options and business data, allowing the customer to seamlessly build an order without redirecting the customer to a dedicated page or impacting the current design of the restaurant's menu. The order engine submits the order to the restaurant via a non-verbal communication platform. An automated confirmation call is generated to the restaurant confirming receipt of the order. From the confirmation call the restaurant may choose to repeat the message, accept the order, connect to the customer, connect to the service provider, decline the order, or opt-out. The order engine allows the restaurant to monitor online orders and to, optionally, enroll in the above services for subsequent online orders.
- In accordance with one aspect of the invention, a system for enabling a user to submit an online order to a business is disclosed. The system includes a processor configured to access a non-transitory, computer-readable storage medium having stored thereon unique identifiers corresponding to input data related to corresponding businesses. The processer is configured to execute an order engine to carry out the steps of receiving, from an application running on a computer operated by the user, information to identify a business indicated within content displayed on the computer operated by the user. The order engine may also be configured to access the non-transitory, computer-readable storage medium to identify a unique identifier corresponding to the business using the information received from the application. Based on the unique identifier, the input data related to the business for display on the computer operated by the user is provided despite the business having no previously-established business relationship with the order engine. An online order to be placed with the business is received from the application running on the computer operated by the user, and the online order is submitted to the business. One or more response options are provided for the business to communicate acceptance of the online order.
- In accordance with another aspect of the invention, a method for enabling a user to submit an online order to a business is disclosed. The steps of the method include receiving unique identifiers corresponding to input data related to corresponding businesses configured to be analyzed by an order engine. Information to identify a business indicated within content displayed on a computer operated by the user is received from an application running on the computer. A non-transitory, computer-readable storage medium is then accessed to identify a unique identifier corresponding to the business using the information received from the application. Based on the unique identifier, the input data related to the business for display on the computer operated by the user is provided despite the business having no previously-established business relationship with the order engine. An online order to be placed with the business is received from the application running on the computer operated by the user, and the online order to the business is then submitted. One or more response options are provided for the business to communicate acceptance of the online order.
- The foregoing and other aspects and advantages of the invention will appear from the following description. In the description, reference is made to the accompanying drawings which form a part hereof, and in which there is shown by way of illustration a preferred embodiment of the invention. Such embodiment does not necessarily represent the full scope of the invention, however, and reference is made therefore to the claims and herein for interpreting the scope of the invention.
-
FIG. 1 is a schematic view of an environment in which an embodiment of the invention may operate. -
FIG. 2 shows a representation of an example image of restaurant input data. -
FIG. 3 is a flow chart setting forth the steps of processes for automatically submitting an online order from a customer to a business. -
FIG. 4 is a continuation of the flow chart ofFIG. 3 . -
FIG. 5 shows an example screen shot of an example user interface by which the customer can submit an online order to the business. -
FIG. 6 shows an example screen shot of an example user interface including a menu widget showing an online order summary for the customer. -
FIG. 7 is a flow chart setting forth the steps of processes for providing restaurant input data to a customer through a third party provider using unique identifiers. -
FIG. 8 is a flow chart setting forth the steps of processes for automatically providing restaurant input data to a customer through a third party provider using unique identifiers. -
FIG. 9 is a flow chart setting forth the steps of processes for automatically providing restaurant input data to a customer through a third party provider using unique identifiers. - This description primarily discusses illustrative embodiments as being implemented in conjunction with restaurant menus. It should be noted, however, that discussion of restaurant menus simply is one example of many different types of unstructured data items that apply to illustrative embodiments. For example, various embodiments may apply to unstructured listings from department stores, salons, health clubs, supermarkets, banks, movie theaters, ticket agencies, pharmacies, taxis, and service providers, among other things. Accordingly, discussion of restaurant menus is not intended to limit various embodiments of the invention.
- Referring now to
FIG. 1 a schematic view of an environment in which the invention may operate is shown. The environment includes one or moreremote content sources 10, such as a database or non-transitory, computer-readable storage medium on whichbusiness input data 12 and consumer relateddata 14 corresponding to a business are stored. Aprocessor 16 may be configured to access theremote content source 10 to store menu data, for example, related to thebusiness input data 12, as well as store the consumer relateddata 14. Theremote content source 10 is connected, via adata communication network 18 such as the Internet, to anorder engine 20 in accordance with an embodiment of the invention. - As described in more detail below, the
order engine 20 may be configured to receive theinput data 12 and consumer relateddata 14 to determine whichdeployment platforms 22, such as search engines or social media networks, for example, the business's online ordering interface should be provided on in order to improve online ordering efficiency and increase online orders. As will be further described, thebusiness input data 12 may include, but is not limited to, the business menu including a plurality of business offerings, the business location, the business phone number, the business fax number, the business delivery hours, the business pick-up hours, photographs of the plurality of business offerings, feedback data, and the like. The consumer relateddata 14 may include, but is not limited to, the consumer's first name, the consumers email address, the consumer's street address, the consumer's phone number, an estimated delivery time for the online order, an estimated pick-up time for the online order, and the like. - The
order engine 20 may include adeployment platform selector 24 that chooses, based upon, but not limited to thebusiness input data 12, the consumer relateddata 14 and, as will be described, feedback from thebusiness 26, whichdeployment platforms 22 to provide the online ordering interface on for customers to build and submit an online order (i.e., delivery order, take-out order, and the like) to the business. A dynamicorder resource manager 28 may be configured to receive consumer relateddata 14 that corresponds to the consumer activity generated on the targeteddeployment platforms 22 and determine whichdeployment platforms 22 increase online orders for a particular business (i.e., a restaurant). Based on the quantity of online orders, theorder engine 20 may adjust thedeployment platforms 22 to increase the business's online orders. - Referring now to
FIG. 3 , a flow chart setting forthexemplary steps 100 for automatically submitting an online order from a customer to a business via one or more deployment platforms is provided. To start the process, thebusiness input data 12 ofFIG. 1 is obtained atprocess block 102. In one non-limiting example, the business input data may be obtained by the order engine without involvement of the business. For example, the order engine may obtain business input data related to the business from existing online and offline information (e.g., a business menu, business website, business advertisements, and the like). The business input data may include any data related to the business, for example. As one non-limiting example, the business input data may be a menu, such as a restaurant menu, as shown atblock 104. The menu shown atblock 104 may include a plurality of business offerings, for example. If the business is a restaurant, the business offerings may include data obtained from arestaurant menu 32 as shown inFIG. 2 , such as Menu Name, Section, Subsection, Section Text, Item Name, Item Description, Item Price, Item Options, and Notes. In addition, photographs of the business offerings (e.g., specific food dishes) may be included in the menu atblock 104. In the particular example ofFIG. 2 , Sections include “Main Courses”, “Chicken”, “Lamb”, “Beef”, “Cold Appetizers”, “Salads”, “Soups”, “Sandwiches”, “Hot Appetizer”, “Extra Goodies”, “Desserts”, and “Beverages”. Item Names include “Beriyani”, “Chicken Shawarma”, and “Lamb Chop”, for example. One Item Description is “Chicken cutlet cubes sautéed with garden vegetables in a garlic-tomato sauce”. Item Prices include, but are not limited to, “9.99”, “12.99”, and “13.99”. Item Options may include how well a meat dish is cooked (not shown inFIG. 2 ). Notes include “All main dishes are served with rice, onions & tomato”. As may be understood, the business input data related to the business offerings are business-specific and may vary from one business to the next. Such data extraction and use is further detailed in U.S. Provisional Patent Application Ser. No. 61/818,713, filed May 2, 2013 and entitled “SYSTEMS AND METHODS FOR AUTOMATED DATA CLASSIFICATION, MANAGEMENT OF CROWD WORKER HIERARCHIES, AND OFFLINE CRAWLING,” and U.S. patent application Ser. No. 13/605,051, filed Sep. 6, 2012 and entitled “METHOD AND APPARATUS FOR FORMING A STRUCTURED DOCUMENT FROM UNSTRUCTURED INFORMATION.” - The business input data may also include a location of the business as shown at
block 106. Thebusiness location 106 may include a business and/or home address, city, state, zip code and country, for example. A business phone number and/or fax number, as shown atblock 108, may be another form of business input data retrieved atprocess block 102. In addition, a business email address, as shown atblock 110 may be yet another from of business input data. Business hours, as shown atblock 112, is business input data that may include the business's normal operating hours, specific delivery hours, specific hours for take-out orders, and the like. Thebusiness hours 112, along with the other business input data, is provided to theorder engine 20 ofFIG. 1 to automatically provide the online ordering interface, as will be described below, to different deployment platforms to optimize the business's online ordering efficiency and increase online orders. - The above-described business input data described with respect to
blocks order engine 20 ofFIG. 1 to determine whichdeployment platforms 22 to utilize. For example, a small restaurant may not see a large increase in online orders if the corresponding online ordering interface is provided on search engine interfaces, such as Google. The small restaurant may see a larger increase in online orders when the corresponding online ordering interface are put on a more location based deployment platform, such as Yelp. However, using the small restaurant example, it may be difficult, especially for smaller businesses, to determine which deployment platform to provide an online ordering interface to in order to increase online orders and manage the order efficiently. Therefore, once the order engine has received the business input data atprocess block 102, the deployment platforms may automatically be determined atprocess block 114. - Several deployment platforms are available for the order engine to choose from at
process block 114. Some non-limiting examples are provided inFIG. 1 . For example, search engines, as shown atblock 116, may be an appropriate deployment platform to provide the online ordering interface to in the form of a search engine advertisement or widget, for example. Specific search engines, as shown atblock 116, may be other deployment platform options and may include other search engine websites such as Yahoo or Bing, for example. Other deployment platforms may be social media networks, as shown atblock 118.Social media networks 118 may include, but are not limited to, Yelp, Foursquare, Twitter, and Facebook. For example, the order engine may provide the online ordering interface in the form of advertisement on Facebook, or embed a widget on a social media network's or search engine's website to direct customers to the online ordering interface that corresponds to business's menu. Other deployment platforms may include mobile applications, such as those running on the IPHONE or ANDROID devices, as shown atblock 120, or any website related to the business (e.g., the business's local website, the business's local Facebook page, and the like), as shown atblock 124. - Once the deployment platform(s) has been determined at
process block 114, the order engine may provide the online ordering interface to customers on the deployment platform atprocess block 126. An example online ordering interface is shown inFIG. 5 asuser interface 200. Theuser interface 200 may include any of business input data as previously described. For example, theuser interface 200 may include arestaurant menu 202 including a plurality ofbusiness offerings 204 andcorresponding prices 206 for the customer to choose from. Therestaurant menu 202 provided on theuser interface 200 may be consistent with the menu provided by the business's local website and/or the business's physical menu provided at the business location. The order engine may automatically display the business input data on theuser interface 200 via a simple menu-item selection interface, for example, to allow the customers to easily build an online order. As previously described, the order engine may obtain the business input data, without the involvement of the business, to be displayed on theuser interface 200. Thus, the order engine can provide some or all of the business input data to facilitate take-out ordering that provides a seamless experience to the customer and drives customers to the business. - Returning to
FIG. 3 , once the online ordering interface is provided to the customer atprocess block 126, the order engine may determine if the customer has a customer account atdecision block 128. In one non-limiting example, a log-in window (not shown) may be provided on the online ordering interface, such that if the customer does have an existing account, he/she may log-in and build the online order atprocess block 130. However, if the customer does not have a customer account atdecision block 128, the order engine may prompt the customer to generate an account atprocess block 132. The customer is not required to generate an account in order to build an online order atprocess block 130. Thus, atdecision block 134, the order engine determines if the customer generated an account. If the customer generates an account atdecision block 134, the order engine may receive the customer information atprocess block 136. The customer information may include, for example, a username and password. Once the customer information is received atprocess block 136, the customer may build the online order atprocess block 130. However, if the customer does not generate a customer account atdecision block 134, the order engine simply prompts the customer to continue and build the online order atprocess block 130. - To build the online order at
process block 130, the customer may be provided therestaurant menu 202 on theuser interface 200, as shown inFIG. 5 . The customer may select one or more of thebusiness offerings 204 to add to the online order. In one non-limiting example, if the customer selects one of thebusiness offerings 204, a window 208 may appear on theuser interface 200. The window 208 may include a brief description of the menu item, aninstructions window 210 for the customer to provide specific requests related to the selected menu item, andbuttons 212 to add or remove the menu item from the online order. Once the customer determines the quantity of the selected menu item to add to the order, an add to orderbutton 214 may be provided on the window 208 for the customer to select. - Still referring to
FIG. 5 , as the customer selects the add to orderbutton 214 for one or more of thebusiness offerings 204, anorder summary 216 is continuously updated on theuser interface 200. Theorder summary 216 may include the selected menu items and corresponding prices, as well as an estimated total for the online order. Once the customer is finished building the online order, areview order button 218 may be selected, and auser interface 300, as shown inFIG. 6 and described in further detail below, is displayed to the customer. - Returning to
FIG. 3 , once the customer has completed the online order atprocess block 130, the order engine may receive additional customer and/or order information atprocess block 138, prior to submitting the order to the business. The customer related data may include, but is not limited to, the customer's name, as shown atblock 140, the customers e-mail address, as shown atblock 142, the customer's street address, as shown atblock 144, and the customer's phone number, as shown atblock 146. The customer related data may also include information related to the order, such as an estimated delivery time or an estimated pick-up time of the order, as shown atblock 148. The additional customer related data and order information acquired at process block 138 may be provided by the customer, for example, on theuser interface 300 ofFIG. 6 . - The
user interface 300 may provide a summary of theonline order 316 with an estimated total for the selected menu items, for example. In addition, theuser interface 300 may display thebusiness input data 302 for the business, including the business name, business address, business phone number, and business hours (not shown). Aname section 304 may also be provided for the customer to enter a name to be associated with the online order. Similarly, aphone number section 306 may be provided on theuser interface 300 for the customer to enter a phone number in case the customer would need to be contacted about the online order. Anemail section 308 may also be provided for the customer to provide an email address to be associated with the online order. The email address may be required prior to the customer submitting an online order, such that a confirmation email from the order engine may be sent to the customer. The customer may manually enter the customer related data into thename section 304, thephone number section 306, and theemail section 308 of theuser interface 300. However, if the customer has an existing customer account, as determined atdecision block 128, or the customer generated a customer account atdecision block 134, the customer related data may automatically be populated on theuser interface 300. - Still referring to
FIG. 6 , if the online order is a pick-up order,radio buttons 310 may be provided to the customer to identify an approximate time period (e.g., number of minutes) for which the order will be picked up at the business location. Similar radio buttons may be provided on theuser interface 300 for the customer to select to identify an approximate time for which the order should be delivered to the customers address or present location, for example. Once the customer has reviewed the order and entered the necessary customer and order information, a submitbutton 312 may be selected by the customer to submit the online order to the order engine. The order engine does not require the customer to provide payment information for the online order. In one non-limiting example, payment for the online order is handled between the customer and the business since take-out orders involve in-person pickups or delivery. - With reference again to
FIG. 3 , once the customer submits the online order, the order engine determines if the business (i.e., the restaurant) for which the online order was submitted has previously received online orders from the order engine atdecision block 150. The order engine may access theremote content source 10 ofFIG. 1 to determine whether the business has previously received online orders from the order engine. If the order engine determines that the business has not previously received online orders from the order engine atdecision block 150, the order engine provides the restaurant with both general information related to the services provided by the order engine and enrollment information atprocess block 154. The general information, for example, may include information explaining why the business is receiving the online order. The enrollment information provided atprocess block 154 does not require the business to enroll in the services provided by the order engine. However, if the business does decide to enroll in the services provided by the order engine, business metrics, as will be described in further detail below, can be tracked in order to increase online orders for the business and provide efficient online ordering tools for the business. - However, if the order engine determines that the business has previously received online orders from the order engine at
decision block 150, the order engine simply submits the online order to the restaurant via a communication platform atprocess block 152. To provide a more seamless experience, the communication platform provides contact information through a medium allowing written communication, for example. Thus, the recipient (i.e., the business) of the online order can process the order reliably, without requiring verbal communication. Some non-limiting examples of communication platforms for submitting the online order at process block 152 include email, as shown atblock 156, such that the order engine sends an email containing the online order to the business. Alternatively a fax, as shown atblock 158, including the online order may be sent to the business's fax machine from the order engine. Similarly, the order engine may send the online order to a printer, as shown atblock 160, located at the business. Or, the order engine may send a text message, as shown atblock 162, including the online order to the business. - Once the order engine submits the online order to the business at
process block 152, the order engine generates an automated confirmation call atprocess block 164. The automated confirmation call may be generated, for example, to ensure someone at the business is made aware of the online order. The automated call may provide information related to the online order such as, the take-out service company providing the order, and the method through which the restaurant should have received the order (i.e., fax, email, print, etc.) atprocess block 152. The automated call may also provide information related to the online order such as, a common identifier for the customer issuing the order, such as the customer'sfirst name 140 obtained atprocess block 138. Additionally, or alternatively, the time at which the customer will come and pick up the order or time desired for the delivery may be information that is provided by the automated confirmation call. Lastly, in one non-limiting example, an estimate of the amount to be paid for the online order may be provided in the automated confirmation call to the business atprocess block 164. By providing the amount of the online order, the order engine (i.e., service provider) can instill more confidence that the automated confirmation call is legitimate and that the business should attend to the online order. - Once the automated confirmation call to the business is generated at
process block 164, the order engine determines if the confirmation call was received by the business atdecision block 166. For example, if the automated call fails due to a busy signal or the detection of an incorrect phone number for the business, the order engine determines that the call was not received atdecision block 166. Thus, if the call is not received atdecision block 166, the order engine may attempt to submit the online order to the business again atprocess block 152. This process may continue until the order engine determines that the automated confirmation call is received by the business atdecision block 166. However, if the order engine continues to determine that the confirmation call was not received by the business, the online order may be sent to a specialist that will attempt to reach the restaurant manually to update the status of the order. If the specialist cannot get through to the business, the consumer who issued the online order may be notified of the failed attempt to get his/her order through. Thus, the order engine does not issue a confirmation to the customer until confirmation that the business has received the details of the order via the communication platform is determined atdecision block 166. - If the order engine determines that the automated confirmation call is received by the business at
decision block 166, response options are provided to the business atprocess block 168. The response options include, but at not limited to, repeat the message, as shown atblock 170, accept the order, as shown atblock 172, connect to the customer, as shown atblock 174, connect to the service provider (e.g., the order engine), as shown atblock 176, decline the order, as shown atblock 178, and opt-out from receiving future online orders from the order engine, as shown atblock 180. Once the automated confirmation call has provided the response options to the business atprocess block 168, the order engine receives a response from the business atprocess block 182. The response from the business at process block 182 may be one or more of the response options provided atprocess block 168. - Turning now to
FIG. 4 , the flow chart ofFIG. 3 is continued setting forth theexemplary steps 100 for automatically submitting the online order from the customer to the business. Depending on the response received from the business atprocess block 182, the processes provided by the order engine may vary. For example, if the business chooses to decline the order, as shown atprocess block 184, the order engine may be configured to automatically notify the customer via a communication platform that the online order will not be processed by the business atprocess block 190. The communication platform used to notify the customer may be email, phone, or text message, for example, since the customer related data (i.e., email address and phone number) was previously obtained by the order engine at process block 138 ofFIG. 3 . Thus, when the customer is notified of the order status atprocess block 190, the message generated by the order engine may suggest that the customer contact the business directly to complete the online order. - However, if the business chooses to accept the order, as shown at
process block 185, the order engine may be configured to automatically send an order confirmation message to the customer via the communication platform, as shown atprocess block 191. The order confirmation message may communicate to the customer that the online order will be processed by the business. The communication platform used to notify the customer may be email, phone, or text message, for example. Once the order confirmation message is sent to the customer atprocess block 191, the customer can expect the online order to be delivered at the pre-specified time (i.e., if the order was scheduled as a delivery). If the online order was a take-out order for pick-up, the customer can arrange to pick-up the order at the time identified on theuser interface 300 ofFIG. 6 . Thus, the order engine in no longer communicating with the customer after the order confirmation message is sent atprocess block 191. - At
process block 186, the business may choose to connect to the service provider. For example, if the business is hesitant about the online order received by the order engine, connecting to the service provider can reassure the business that the online order received at process block 152 ofFIG. 3 is legitimate. Once the business is in communication with the service provider, the online order can either be accepted or declined by the business. Atdecision block 192, the order engine determines if the online order is accepted or declined. If the order is accepted atdecision block 192, the order engine, as previously described, may automatically send an order confirmation message to the customer via the communication platform, as shown atprocess block 191, and the customer can expect the online order to be delivered at the pre-specified time or the customer can arrange to pick-up the order at the time identified on theuser interface 300 ofFIG. 6 . Similarly, if the order is declined atdecision block 192, the order engine may automatically notify the customer via the communication platform that the online order will not be processed by the business atprocess block 193, and the order engine may suggest that the customer contact the business directly. - At
process block 187, the business may choose to connect to the customer. Before the order engine connects the business to the customer, the order engine may be configured to contact the customer via one of the communication platforms, as shown atprocess block 194, to verify that customer would like to connect with the business. If the customer confirms the connection atdecision block 195, the order engine connects the customer and the business to complete the online order transaction atprocess block 196. However, if the customer does not confirm the connection to the business atdecision block 195, the order engine may automatically notify the customer via the communication platform that the online order will not be processed by the business atprocess block 193, and the order engine may suggest that the customer contact the business directly. - Lastly, at
process block 188, the business may choose to opt-out from receiving further online orders from the order engine. Once the business opts-out, the order engine may automatically notify the customer via the communication platform that the online order will not be processed by the business atprocess block 198, and the order engine may suggest that the customer contact the business directly. - Once the online order is complete, the business may decide to enroll in the services provided by the order engine. The business may contact the service provider operating the order engine from the enrollment information received at process block 154 of
FIG. 3 . The order engine may send incentives to the business as the online orders are received. In one non-limiting example, a predefined limit to the quantity of orders the business is entitled may be defined in an enrollment contract, for example, or an explicit deadline upon which the business needs to sign-up for the service to continue receiving orders may be specified. - If the business decides to enroll in the services provided by the service engine, the business may receive synchronous feedback with asynchronous ordering to bring more take-out traffic to the business. This can be accomplished by configuring the order engine to track business metrics, such as recording the quantity of consumer orders related to the different deployment platforms that the online ordering interfaces are provided on, as well as, tracking revenues received from the consumer orders. As a result of the consumer orders, consumer related
data 14 shown inFIG. 1 may then be obtained. Once the consumer related data has been obtained, the data may be stored in theremote content source 10 ofFIG. 1 for retrieval by theorder engine 20 at any time. Thus, theorder engine 20 may be continuously updating the online orders to optimize the business's online ordering efficiency and increase the quantity of online orders. - In one non-limiting example, search engine data, such as keywords searched by consumers on the deployment platforms, may be consumer related data obtained and used by the dynamic order resource manager to generate a search engine optimization (SEO) strategy for the business. The SEO strategy may include, for example, generating a list of business specific keywords based upon some, or all, of the business input data obtained at process block 102 of
FIG. 3 . For example, in the case where the business is a restaurant, the order engine may determine that the menu items offered by the restaurant may be candidate keywords for the keyword list. With reference to themenu 32 inFIG. 2 , for example, the order engine may determine that menu items, such as “Chicken beriyani” and “Beef Beriyani” are adequate keywords to include in the SEO strategy. These menu items may be good candidates for the keyword list because they can target consumers that are searching for the offering provided by the business. Additionally, or alternatively, the list of keywords can be based on the business type or sub-type (e.g., cuisines), business name (e.g., Dim Sum, Restaurant), menu item prices, or any other business input data obtained atprocess block 102. - Once the SEO strategy is generated, the deployment platform(s) is determined for the online ordering interface. The deployment platform may include, but is not limited to, search engines, social media networks, mobile applications, and business related websites, as previously described. Thus, the SEO strategy can bring more take-out traffic to select businesses, and the take-out service provider can optionally drive more traffic to take-out web-pages, for example by purchasing relevant keywords for the business. By driving traffic to specific businesses and in conjunction with limits on orders for a particular business, the take-out service provider can sign-up more businesses for its service. In one non-limiting example, the SEO strategy may use customizable JavaScript based menu widgets. The JavaScript may run in the customer's browser. Additionally, or alternatively, if the JavaScript is a Google Chrome Extension, the online ordering interface including the business's menu could be returned with the search results entered by the customer.
- The take-out service provider can optionally provide businesses the ability to enable ordering capability directly from the business's own website, mobile site or Facebook page, mobile applications (e.g., running on the IOS or ANDROID operating system), and the like. Thus, the order engine can provide the business with an SEO friendly stylized widget powered menu, for example, on its website having built-in take-out functionality. Furthermore, if the take-out service provider powers menu widgets on third party company websites or drives content in mobile applications, for example, it can further expand the reach of its service by enabling take-out widgets on these online properties or mobile applications.
- In another non-limiting example, the order engine can utilize a unique identifier, such as a number, for each business that it has stored in the
remote content source 10 ofFIG. 1 . The unique identifier can be used by third parties, such as online content providers, to include the menu for a given business in a listing, a review, and the like. Thus, the order engine may can accommodate situations where the third party knows the unique identifier and/or work with content providers and/or users of content provider sites to provide information from the order engine to reach end users. If the unique identifier is known, a widget or small JavaScript, for example, can be used by the third party to identify businesses included in the content and communicate with the order engine to return the menu for the business included in the third party content. Alternatively, if the unique identifier is not known, the widget or small JavaScript, for example, can be used by the third party or the end user to identify businesses included in the content and communicate with the order engine to return additional content, such as a menu, for the business included in the third party content. - Referring now to
FIG. 7 , a flow chart setting forthexemplary steps 400 for providing input data to a customer through a third party provider using unique identifiers is shown. Prior to starting the process, the third party (e.g., a publisher) may generate internal business identifiers that correspond to businesses, such as restaurants. The third party may interact with the order engine to map the internal business identifiers to the unique identifiers provided by the order engine. The order engine may further provide widget code, for example, that is embedded into the HTML file associated with the third party's online content. In one non-limiting example, the widget code may be stored on theremote content source 10 ofFIG. 1 and may have the following format: -
- <script src=“http://widget.locu.com/?locu_id={{locu_business_id}}”>
- Where the “locu_business_id” corresponds to the unique identifier provided by the order engine. The unique identifier may be an alphanumeric value, for example. Thus, to start the process, the order engine may receive a request from the browser including a business identifier (i.e., the identifier provided by the third party for a particular business) at
process block 402. In response to the browser request, the browser may identify a widget tag, for example, in the HTML. In one non-limiting example, the widget tag may be stored by the local browser and may have the following format: -
<scriptsrc=“http://widget.locu.com/?locu_id=1234” element=“menu_content”> - Once the browser identifies the widget tag, the order engine may provide the unique identifier at process block 404 that corresponds to the business identifier provided by the third party. Next, at
process block 406, the order engine may receive a browser request for the widget code from the remote content source, for example. In response, atprocess block 408, the order engine may retrieve the data (in this non-limiting example, menu data, “menu_content,” identified in the widget tag) from the remote content source based on the unique identifier provided atprocess block 404 and included in the widget tag. - Next, at
process block 410, the order engine may be configured to create an interactive file, for example a JavaScript file, using the widget code and the menu data embedded in the widget tag. Once the file is created, which may be an executable file, the order engine may provide the file to be run atprocess block 412. For example, the browser may run the widget code and find the menu data (i.e., the menu_content element identified in the widget tag) within the content provided. Then atprocess block 414, the menu data is displayed for the business corresponding to the unique identifier. Thus, the user is provided with an interactive widget, for example, for the business identified in the content provided by the third party. - In other cases, the unique identifier may not be known or stored by the third party and, thus, it may be desirable to provide input data to a customer despite the third party not knowing or storing the unique identifiers. In this case, the third party may provide business input data, such as a business name, address, and phone number as the business identifier, but not have a unique identifier to communicate to the order engine. The order engine may then map the business input data provided by the third party with the unique identifiers accessible by the order engine. The order engine may further provide widget code, for example, that supplements the third party's online content with further interactive business information. In one non-limiting example, the widget code may be stored on the
remote content source 10 ofFIG. 1 and may have the following format: -
<script src=“http://widget.locu.com/?name={{name}}&address= {{address}}&city={{city}}”> - Where the “name” corresponds to the business name provided by the third party. The “address” corresponds to the business address provided by the third party, and the “city” corresponds to the business city provided by the third party. Thus, the order engine matches the business input data (i.e., business name, address, and phone number) with the business input data stored on the remote content source. In some cases, the business input data may be inconsistent with the business input data stored, and accessible to the order engine, on the remote content source. For example, several phone numbers may be available for a particular restaurant. Therefore, the business phone number provided by the third party may be different from the business phone number for the same restaurant that is stored on the remote content source for the order engine. In such cases, a machine learning algorithm and elastic search strategy may be utilized, as will be described in further detail below.
- Specifically, turning now to
FIG. 8 , a flow chart is provided setting forthexemplary steps 500 for automatically providing input data to a customer through when the third party does not store or know the unique identifiers. To start the process, the order engine may receive a request from the browser including a business identifier (i.e., the identifying information provided by the third party for a particular business, such as name, address and city information) atprocess block 502. In response to the browser request, the browser may identify a widget tag, for example, in the HTML. In one non-limiting example, the widget tag may be stored by the local browser and may have the following format: -
<script src=“http://widget.locu.com/?name=Bistro+Central+parc&address=560+ sutter+st&city=San+Francisco” element=“menu_content”> - Once the browser identifies the widget tag, the order engine may receive the corresponding business input data from the third party at process block 504 that corresponds to the business identifier information. Next, at
process block 506, the order engine may receive a browser request for the widget code, for example. Next, atprocess block 508, the order engine matches the given business input data provided to the business input data stored on theremote content source 10, for example, ofFIG. 1 in order to provide a unique identifier. - In one non-limiting example, a machine learning algorithm and elastic search strategy, as shown at
block 513, may be configured to initiate the order engine to search for and discover new keywords corresponding to the business input data. Thus, the machine learning algorithm and elastic search strategy may be used by the order engine to compensate for any discrepancies between the business input data provided and the business input data available to the order engine. In one example, the machine learning algorithm and elastic search strategy atblock 513 may be based on genetic mutations, for example, that use a set of mutation functions, such as phrase splitting, word joining, word stemming, order changing, and so on, to compensate for any discrepancies between the business input data provided by the third party and the business input data provided by the order engine. - Another example of the machine learning algorithm and elastic search strategy at
block 513 may be a phrase extension mutator. The phrase extension mutator may be configured to combine keywords identified in the business input data provided by the third party and the business input data provided by the order engine. For example, if the business name provided by the third party includes “bistro,” “central,” and “park,” for example, the phrase extension mutator may combine the keywords into the complete business name “bistro central park”, which may be the business name stored on the remote content source accessible by the order engine. Additionally, or alternatively, the phrase extension mutator may combine keywords with a set of handpicked verbs or phrases for the particular business. - Another example of the machine learning algorithm and elastic search strategy at
block 513 may be a synonym finder. The synonym finder may be configured to randomly substitute words in a given phrase for known synonyms or similar items and categories associated with the keyword corresponding to the business input data. In so doing, the synonym finder will likely indicate to the order engine that the word “street” may be substituted with “st.”. Thus, if the third party provides business input data including a business address that includes the word “street,” and the business input data provided by the order engine includes a business address with the abbreviation “st.”, the machine learning algorithm and elastic search strategy will compensate for this discrepancy in order for the order engine to provide the correct unique identifier atprocess block 508. Additionally, or alternatively, the machine learning algorithm and elastic search strategy may be a keyword generalizer, for example. The keyword generalize may be configured to remove pluralization or stop words, for example, from the business input data that may vary between the third party and the order engine. - Once the unique identifier is determined at
process block 508, atprocess block 510, the order engine may retrieve the menu data (i.e., the menu_content identified in the widget tag) from the remote content source based on the unique identifier. Next, atprocess block 512, the order engine may be configured to create an interactive or executable file, for example a JavaScript file, using the widget code and the business data, such as menu data, embedded in the widget tag. Once the interactive file is created, the order engine may provide the interactive file to run on the browser atprocess block 514. Thus, the browser runs the widget code and finds the business data (i.e., the menu_content element identified in the widget tag) within the content provided by the third party. Then atprocess block 516, the business data is displayed for the business corresponding to the unique identifier. Thus, the user is provided with an interactive menu, for example, for the business identified in the content provided by the third party. - In some cases, the third party choose not to work with or be capable of communicating with the order engine to obtain the unique identifier corresponding to each business. In this case, a program, application, script, extension, or similar construct may be used to determine the unique identifier or otherwise connect the order engine with the content and provide the content to the end user. The script may be a JavaScript, for example, that automatically determines the unique identifier for each business by scanning the content of the third party. Thus, the third party can run the script so that menus, for example, can be provided for the businesses referenced in the third party's content.
- In yet another non-limiting example, if the third party chooses not to use the unique identifier or actively participate in connecting the content with information, such as menus, available using the unique identifier, a user-side script, application, or widget, for example, may be used. For example, if the user is accessing an online newspaper from a computer, the client-side script, application, or widget can be used to scan the content of the online news paper to identify businesses or business information and access the unique identifiers corresponding to each business. Once the unique identifiers are obtained, the order engine may provide the business information, such as a menu, for the business to the user.
- Turning now to
FIG. 9 , a flow chart is provided setting forthexemplary steps 600 for automatically providing restaurant input data to a customer based on business identified in a third party's content, when the third party does not know or have the capability to communicate to determine the unique identifiers. In this example, the third party does not actively provide business input data, such as a business name, address, and phone number as the business identifier. Thus, the order engine is required to automatically identify the business input data within the content by providing automatic widget code, for example, that is used to access the third party's online content. In one non-limiting example, the automatic widget code may be stored on theremote content source 10 ofFIG. 1 and may have the following format: - <script src=“http://widget.locu.com/auto”>
- The corresponding business input data is determined by scanning the third party's online content to identify business input data (i.e., business name, address, and phone number) and then matched with the business input data stored on the remote content source. As previously described, the business input data identified within the third party content may be inconsistent with the business input data stored and accessible to the order engine on the remote content source. Therefore, a machine learning algorithm and elastic search strategy may be utilized.
- Returning to
FIG. 9 , to start the process, the order engine may receive a request from the browser atprocess block 602. In response to the browser request, the browser may identify a widget tag. In one non-limiting example, the widget tag may be stored by the local browser and may have the following format: - <script src=“http://widget.locu.com/auto>
- Once the browser identifies the widget tag, the order engine may receive a browser request for the automatic widget code from the remote content source at
process block 604. The order engine may then provide the automatic widget code to the browser and run the automatic widget code atprocess block 606. Running the automatic widget code enables a scan of the third party content and acquisition of the business input data (e.g., business name, address, and phone number) from the online content atprocess block 608. - In one non-limiting example, the automatic widget code may scan the third party contents to find a business name and address, such as “Bistro Central Park, 560 Central St, San Francisco, Calif. 94117”. The automatic widget code may be configured to identify microformats, for example, to standardize how the automatic widget codes scans the online content for business input data. For example, the online content may be scanned for suitably formatted hCards to allow the order engine to automatically process the business input data, such as the address. Additionally, or alternatively, the order engine may use third party-specific modifications to identify the business input data within the third party content. Further still, the order engine may simply scan and determine the business input data despite any clear indicators of business input data within the third party content. In this case, contextual analysis may be performed, such as looking for proximately located information that generally matches an address format or the like.
- Once the business input data is acquired at
process block 608, the order engine may be configured to insert another widget tag, including the identified business input data atprocess block 610. The browser may identify the widget tag, for example, in the HTML. In one non-limiting example, the widget tag may be stored by the local browser and may have the following format: -
<script src=“http://widget.locu.com/?name=Bistro+Central+parc&address= 560+sutter+st&city=San+Francisco”> - Next, at
process block 612, the order engine matches the business input data identified by the automatic widget code to the business input data stored on theremote content source 10, for example, ofFIG. 1 in order to provide a unique identifier. As previously described, the machine learning algorithm and elastic search strategy, as shown atblock 613, may be configured to initiate the order engine to search for and discover new keywords corresponding to the business input data. Thus, the machine learning algorithm and elastic search strategy may be used by the order engine to fix any discrepancies between the business input data identified by the automatic widget code and the business input data provided by the order engine. The machine learning algorithm and elastic search strategy may be based on, as previously described, genetic mutations, a phrase extension mutator, a synonym finder, and/or a keyword generalizer, for example. - Once the unique identifier is provided at
process block 612, atprocess block 614, the order engine may retrieve the menu data from the remote content source corresponding to the unique identifier. Next, atprocess block 616, the order engine may be configured to create an interactive or executable file, for example a JavaScript file, using the widget code and the menu data embedded in the widget tag. Once the interactive file is created, the order engine may provide the interactive file to run on the browser atprocess block 618. Thus, the browser runs the widget code. Thus, atprocess block 620, the menu data is displayed for the business information found within the third party content. That is, the user is provided with an interactive menu, for example, for the business identified in the content provided by the third party. - The above described script, application, and/or widget used to identify businesses included in the third party's content is not limited to online newspapers. Additionally, or alternatively, the script, application, and/or widget may be deployed in web browsers as a browser extension. For example, the browser extension may be a Google Chrome Extension that provides a user the ability to hover over a web-link, for example, to return the menu corresponding to one or more businesses displayed by the web browser. Thus, the user may be provided the business menu and the ability to place an online order for the business through the order engine.
- The above described systems and methods enable businesses, such as restaurants, to receive more business via existing communication methods and provides the opportunity for a restaurant to enroll in a take-out service. An additional benefit to the resulting service is that it allows the take-out order service's company to acquire new restaurant customers for its services at a low cost and at scale provided the prerequisites are met.
- The present invention has been described in terms of one or more preferred embodiments, and it should be appreciated that many equivalents, alternatives, variations, and modifications, aside from those expressly stated, are possible and within the scope of the invention.
Claims (20)
1. A system comprising at least one hardware computing device coupled to a network and comprising at least one processor executing specific computer-executable instructions that, when executed, cause the system to:
receive, from a client computing device coupled to the network, a request identifying a script identified within a script tag of a source code of a web page displayed in a web browser executed by the client computing device, the request including a business identification data for a business;
execute a database query to identify, within a database coupled to the network:
a unique business identifier associated, in the database, with the business identification data and the business, and
a supplemental or modified content to be incorporated into the web page providing access to a business offering data associated in the database with the unique business identifier; and
transmit the supplemental or modified content, for incorporation into the web page by the web browser, to the client computing device.
2. The system of claim 1 , wherein the at least one processor is configured to:
receive, from the client computing device, an online order, comprising a selection of the business offering data, to be placed with the business;
submit the online order to the business; and
provide at least one response option for the business to communicate acceptance of the online order.
3. The system as recited in claim 2 , wherein the at least one processor is configured to provide an estimated cost of the online order, the estimated cost based on items selected by a user from the business offering data.
4. The system as recited in claim 2 , wherein the online order is submitted via a non-verbal communication platform and the at least one response option to the business includes at least one of a repeat message option, an accept order option, a connect to customer option, a connect to a service provider option, a decline order option, and an opt-out option.
5. The system as recited in claim 1 , wherein the script is configured to run as a browser extension to enable a user operating the client computing device to engage a web-link to return the business offering data to the user.
6. The system as recited in claim 1 , wherein the business offering data includes at least one of a business menu including a plurality of business offerings, a business location, a business phone number, a business fax number, a business email address, business delivery hours, business pick-up hours, photographs of the plurality of business offerings, and feedback data.
7. The system as recited in claim 1 , wherein the unique business identifier is a numerical value.
8. The system as recited in claim 1 , wherein the at least one processor is further configured to automatically determine the unique business identifier parsing a content of the web page.
9. The system as recited in claim 1 , wherein the at least one processor is further configured to provide the business an option to establish a business relationship for subsequent online orders from potential customers.
10. The system as recited in claim 1 , wherein the at least one processor is configured to:
determine whether a user has an existing account corresponding to the business;
prompt the user to generate a new account when no existing account associated with the user is present; and
receive data related to the user to be stored in the database.
11. A method, comprising:
receiving, from a client computing device coupled to a network, a request identifying a script identified within a script tag of a source code of a web page displayed in a web browser executed by the client computing device, the request including a business identification data for a business;
executing a database query to identify, within a database coupled to the network:
a unique business identifier associated, in the database, with the business identification data and the business, and
a supplemental or modified content to be incorporated into the web page providing access to a business offering data associated in the database with the unique business identifier; and
transmit the supplemental or modified content, for incorporation into the web page by the web browser, to the client computing device.
12. The method of claim 11 , further comprising:
receiving, from the client computing device, an online order, comprising a selection of the business offering data, to be placed with the business;
submitting the online order to the business; and
providing at least one response option for the business to communicate acceptance of the online order.
13. The method of claim 12 , further comprising providing an estimated cost of the online order, the estimated cost based on items selected by a user from the business offering data.
14. The method of claim 12 , wherein the online order is submitted via a non-verbal communication platform and the at least one response option to the business includes at least one of a repeat message option, an accept order option, a connect to customer option, a connect to a service provider option, a decline order option, and an opt-out option.
15. The method of claim 11 , wherein the script is configured to run as a browser extension to enable a user operating the client computing device to engage a web-link to return the business offering data to the user.
16. The method of claim 11 , wherein the business offering data includes at least one of a business menu including a plurality of business offerings, a business location, a business phone number, a business fax number, a business email address, business delivery hours, business pick-up hours, photographs of the plurality of business offerings, and feedback data.
17. The method of claim 11 , wherein the unique business identifier is a numerical value.
18. The method of claim 11 , further comprising automatically determining the unique business identifier parsing a content of the web page.
19. The method of claim 11 , further comprising providing the business an option to establish a business relationship for subsequent online orders from potential customers.
20. The method of claim 11 , further comprising:
determining whether a user has an existing account corresponding to the business;
prompting the user to generate a new account when no existing account associated with the user is present; and
receiving data related to the user to be stored in the database.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/653,265 US20170316490A1 (en) | 2013-05-02 | 2017-07-18 | System and method for enabling online ordering using unique identifiers |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361818713P | 2013-05-02 | 2013-05-02 | |
US201361818736P | 2013-05-02 | 2013-05-02 | |
US14/267,686 US20140330671A1 (en) | 2013-05-02 | 2014-05-01 | Method for management of online ordering |
US14/296,331 US9747630B2 (en) | 2013-05-02 | 2014-06-04 | System and method for enabling online ordering using unique identifiers |
US15/653,265 US20170316490A1 (en) | 2013-05-02 | 2017-07-18 | System and method for enabling online ordering using unique identifiers |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/296,331 Continuation US9747630B2 (en) | 2013-05-02 | 2014-06-04 | System and method for enabling online ordering using unique identifiers |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170316490A1 true US20170316490A1 (en) | 2017-11-02 |
Family
ID=51841994
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/296,331 Active 2035-10-30 US9747630B2 (en) | 2013-05-02 | 2014-06-04 | System and method for enabling online ordering using unique identifiers |
US15/653,265 Abandoned US20170316490A1 (en) | 2013-05-02 | 2017-07-18 | System and method for enabling online ordering using unique identifiers |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/296,331 Active 2035-10-30 US9747630B2 (en) | 2013-05-02 | 2014-06-04 | System and method for enabling online ordering using unique identifiers |
Country Status (1)
Country | Link |
---|---|
US (2) | US9747630B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10007947B2 (en) | 2015-04-16 | 2018-06-26 | Accenture Global Services Limited | Throttle-triggered suggestions |
US9239987B1 (en) | 2015-06-01 | 2016-01-19 | Accenture Global Services Limited | Trigger repeat order notifications |
US10650437B2 (en) | 2015-06-01 | 2020-05-12 | Accenture Global Services Limited | User interface generation for transacting goods |
US9600340B1 (en) * | 2016-05-16 | 2017-03-21 | Live Nation Entertainment, Inc. | Iterative and hierarchical processing of request partitions |
US10843870B1 (en) * | 2019-05-19 | 2020-11-24 | Walmart Apollo, Llc | System for order dispensation via an angled pickup portal |
US20230059765A1 (en) * | 2021-08-22 | 2023-02-23 | Soundhound, Inc. | Controlling a graphical user interface by telephone |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110035296A1 (en) * | 1997-06-10 | 2011-02-10 | Messer Stephen D | Enhanced network based promotional tracking system |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5228123A (en) | 1990-01-04 | 1993-07-13 | Heckel Paul C | Interface and application development management system based on a gene metaphor |
US6317128B1 (en) | 1996-04-18 | 2001-11-13 | Silicon Graphics, Inc. | Graphical user interface with anti-interference outlines for enhanced variably-transparent applications |
US5978848A (en) * | 1997-03-14 | 1999-11-02 | International Business Machines Corporation | Web browser method and system for backgrounding a link access during slow link access time periods |
US6134588A (en) | 1997-11-12 | 2000-10-17 | International Business Machines Corporation | High availability web browser access to servers |
US5991739A (en) * | 1997-11-24 | 1999-11-23 | Food.Com | Internet online order method and apparatus |
US7032030B1 (en) | 1999-03-11 | 2006-04-18 | John David Codignotto | Message publishing system and method |
US6393479B1 (en) | 1999-06-04 | 2002-05-21 | Webside Story, Inc. | Internet website traffic flow analysis |
US6405192B1 (en) | 1999-07-30 | 2002-06-11 | International Business Machines Corporation | Navigation assistant-method and apparatus for providing user configured complementary information for data browsing in a viewer context |
US6792458B1 (en) | 1999-10-04 | 2004-09-14 | Urchin Software Corporation | System and method for monitoring and analyzing internet traffic |
US8527345B2 (en) * | 2000-01-06 | 2013-09-03 | Anthony Richard Rothschild | System and method for adding an advertisement to a personal communication |
US20020049847A1 (en) | 2000-04-24 | 2002-04-25 | Cardblast.Com | Dynamic interactive processes for unaided browsers |
US20020073235A1 (en) | 2000-12-11 | 2002-06-13 | Chen Steve X. | System and method for content distillation |
JP4084922B2 (en) | 2000-12-22 | 2008-04-30 | 株式会社ルネサステクノロジ | Non-volatile memory device writing method |
US6981210B2 (en) | 2001-02-16 | 2005-12-27 | International Business Machines Corporation | Self-maintaining web browser bookmarks |
US7114177B2 (en) * | 2001-03-28 | 2006-09-26 | Geotrust, Inc. | Web site identity assurance |
US20050015468A1 (en) | 2001-08-28 | 2005-01-20 | Boey-Kin Lim | Method and system for propogating points of presence over a computer network |
JP3808020B2 (en) * | 2002-08-28 | 2006-08-09 | 富士通株式会社 | Web server having Java servlet function, Java program update method, and computer program |
US7310686B2 (en) | 2002-10-27 | 2007-12-18 | Paxfire, Inc. | Apparatus and method for transparent selection of an Internet server based on geographic location of a user |
US7000184B2 (en) | 2003-01-24 | 2006-02-14 | The Cobalt Group, Inc. | Remote web site editing in a standard web browser without external software |
US7392293B2 (en) | 2003-03-18 | 2008-06-24 | Leonik Thomas E | Method and apparatus for dynamically displaying real world data in a browser setting |
US7269792B2 (en) * | 2003-04-24 | 2007-09-11 | International Business Machines Corporation | System and method for generating high-function browser widgets with full addressability |
US7610219B2 (en) | 2004-02-17 | 2009-10-27 | Omar Farooq Sayed | System and methods for assembly of a web site for an online store by a seller |
US7912904B2 (en) | 2004-03-31 | 2011-03-22 | Google Inc. | Email system with conversation-centric user interface |
US8385589B2 (en) | 2008-05-15 | 2013-02-26 | Berna Erol | Web-based content detection in images, extraction and recognition |
US7370286B2 (en) | 2004-10-26 | 2008-05-06 | International Business Machines Corporation | Accessible markup language defined slider control |
EP1662405A1 (en) | 2004-11-30 | 2006-05-31 | Alcatel | Method of displaying data on a client computer |
US20080307339A1 (en) | 2006-03-20 | 2008-12-11 | Kidzui, Inc. | Child-oriented computing system |
US20060215824A1 (en) | 2005-03-28 | 2006-09-28 | David Mitby | System and method for handling a voice prompted conversation |
US20060235694A1 (en) | 2005-04-14 | 2006-10-19 | International Business Machines Corporation | Integrating conversational speech into Web browsers |
US8335799B2 (en) | 2005-08-17 | 2012-12-18 | Site Technologies Inc. | Automatic website generator |
US20070088713A1 (en) | 2005-10-14 | 2007-04-19 | Arthur Baxter | Method of secure online targeted marketing |
US7743334B2 (en) | 2006-03-02 | 2010-06-22 | Microsoft Corporation | Dynamically configuring a web page |
US20080126097A1 (en) | 2006-11-27 | 2008-05-29 | Ashantiplc Limited | Voice confirmation authentication for domain name transactions |
US20080262972A1 (en) | 2007-04-20 | 2008-10-23 | Blake Patrick J | Order confirmation devices, systems, and methods |
US20100121879A1 (en) | 2008-11-10 | 2010-05-13 | Walter Greenberg | Data Integration Portlet |
US20110137696A1 (en) | 2009-12-04 | 2011-06-09 | 3Pd | Performing follow-up actions based on survey results |
WO2011143180A1 (en) * | 2010-05-10 | 2011-11-17 | Shannon Jeffrey L | Promotions and advertising system |
US20120124462A1 (en) * | 2010-11-11 | 2012-05-17 | Codekko Software, Inc. | Web Application Optimization |
US20120278253A1 (en) * | 2011-04-29 | 2012-11-01 | Gahlot Himanshu | Determining sentiment for commercial entities |
US20120296679A1 (en) | 2011-05-20 | 2012-11-22 | Imidus Technologies, Inc. | Web integrated point-of-sale system |
US8788926B1 (en) * | 2012-01-31 | 2014-07-22 | Google Inc. | Method of content filtering to reduce ink consumption on printed web pages |
JP5959341B2 (en) * | 2012-07-04 | 2016-08-02 | アルパイン株式会社 | Electronic device, search target candidate name display method and program thereof |
-
2014
- 2014-06-04 US US14/296,331 patent/US9747630B2/en active Active
-
2017
- 2017-07-18 US US15/653,265 patent/US20170316490A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110035296A1 (en) * | 1997-06-10 | 2011-02-10 | Messer Stephen D | Enhanced network based promotional tracking system |
Non-Patent Citations (1)
Title |
---|
Article, "Microsoft Assigned Patent for Providing Localized Resources for Client-side Script Execution"; published in Targeted News Service; Washington, D.C. [Washington, D.C]17 Aug 2011; extracted from PQdialog on 07/30/2019. * |
Also Published As
Publication number | Publication date |
---|---|
US20140330681A1 (en) | 2014-11-06 |
US9747630B2 (en) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140330672A1 (en) | System for management of online ordering | |
US20170316490A1 (en) | System and method for enabling online ordering using unique identifiers | |
US20230042931A1 (en) | Menu Personalization | |
JP7291713B2 (en) | Knowledge search engine platform for improved business listings | |
US7778875B2 (en) | Systems and methods for generating advertiser recommendations from users of workflow software | |
US8082498B2 (en) | Systems and methods for automatic spell checking of dynamically generated web pages | |
RU2611971C2 (en) | Displaying actions and providers associated with subjects | |
CN105556562A (en) | Method and system for processing food orders | |
US8812948B2 (en) | Systems and methods for automatic submission of forms for web-based legal workflow software | |
US10740809B2 (en) | Transactional, digital image-based asynchronous electronic communication | |
US20150287120A1 (en) | Merchant menu suggestions based on user location and food preferences | |
US20130074076A1 (en) | Automatic task management and resolution systems and methods | |
WO2013173145A1 (en) | System for providing service reviews | |
KR102335731B1 (en) | Information processing device, information processing method and program | |
US20140136370A1 (en) | System and Method for Optimization of Lease Management and Operation | |
JP6560730B2 (en) | Interactive method for customer hearing, gas appliance sales and settlement, computer and program | |
US20190342409A1 (en) | Website creation from location and communication data | |
US20080059294A1 (en) | Systems and methods for displaying targeted advertisements to users of workflow software | |
Yahya et al. | The Development of Online Food Reservation for Restaurant Kahfi using Structured Approach | |
US20240104628A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
US11734733B2 (en) | Conversational mapping of web items for mediated group decisions | |
US20170011474A1 (en) | Marketing program for hospitality industry | |
JP2023087659A (en) | Information processing system, information processing method and program | |
AU2020403710A1 (en) | Information processing system, information processing method, program, and recording medium | |
AU2020403712A1 (en) | Information processing system, information processing method, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LOCU, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MIERLE, KEIR;REEL/FRAME:043037/0270 Effective date: 20140430 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |