Method for aggregated location-based services
A method for operating an aggregated web service to display location-based items and services and allow for their remote purchase and pick-up or delivery. Algorithms provided to vendors allow for automated pricing adjustments to encourage purchase in competitive geographical locations.
Latest UVerj, LLC Patents:
This application is based on and derives the benefit of the filing date of U.S. Provisional Patent Application No. 61/232,970, filed Aug. 11, 2009. The content of this application is herein incorporated by reference in its entirety.
TECHNICAL FIELDThe present disclosure generally relates to methods for operating an aggregated web services network to deliver location-based results to mobile and/or desktop web browsers. The present disclosure further relates to methods for operating data collection servers, database storage servers, web site delivery services, and/or vendor pricing algorithm services for use in such aggregated web services network.
Based on records returned by the scraping server 207, the data store 211 will be updated to reflect new record additions, changes to existing records, and deletion of out-of-date records. Business HTML web pages on public internet 213 web sites of the non-participating business 203 can be regularly scraped (e.g., scheduled scrapes) for updates, changes and/or deletions. Examples of the type of data elements that can be requested and/or retrieved from the public business HTML web pages on public Internet 213 web sites can include store location addresses, location name and/or type, phone numbers, hours of operation, mail or package pick-up times, item or service prices, inventory quantities, and product names and product numbers.
Participating businesses 205 can refer to those businesses that contract or have a relationship with the process services 101 and can update records related to those businesses in the data store 211 via real-time extensible markup language (XML) or other automated and authenticated method. The process of updating records in the data store 211 can be initiated either by the process services 101 or by a participating business 205. When the participating business 205 initiates the update, then an automated system (not shown) operated by the participating business 205 may establish communication between the participating business 205 and the authentication server 210 in the process services 101 via XML or other automated and authenticated method. Such communication can pass through, for example, a firewall 215 in the participating business 205, the internet 102, and a firewall 119 in the process services 101. The authentication server 210 can be configured to authenticate and to approve the identity of the electronic connection through the use of any common encrypted authentication and access process. When the secure electronic connection is authenticated and approved, the authentication server 210 can pass the electronic connection to the import, format and query data server 209. The import, format and query data server 209 can then compare the data records in the data store 216 of the participating business 205 with the contents in the data store 211 of the process services 101 to determine whether data updates are needed. When the import, format and query data server 209 initiates an automated electronic records update, the process services 101 can authenticate with the data store 216 to establish an approved connection and to commence comparing records between the data store 211 and the data store 216 before updating records on the data store 211.
Participating businesses 205 can conform to standardized electronic templates that indicate the data elements under consideration for updates. When a participating business 205 participates in an e-commerce service, as described in more detail below with respect to
A services delivery 116 of the process services 101 can communicate through the firewall 119 and the internet 102 to third-party services providers 201 and services users 202 and is further described in more detail below with respect to
E-commerce participating businesses 305 can be a subset of the participating businesses 205 shown in
Merchant services approval and processing 316 providers of third-party services providers 201 can contract or establish a relationship with the process services 101 for e-commerce sales processing. While e-commerce transactions can be typically related to purchases using a “Buy” button in a graphical interface provided to the user's browser, additional third-party services providers 201 can provide third-party location, address, verification, directions and map transmission 315 which can be used to validate all “Buy” button e-commerce address requirements and all non-ecommerce location searched addresses for all of the search buttons. Other services, such as maps and drive-to directions can also be provided and displayed on the user's browser. Services users 202 that log on can register to create email and text alerts for items such as sales confirmations, password changes, price or item watch triggers, and also sales notices, for example, which can be managed and sent by an email and text alerts server 307. The administration of the data store 211 can be performed by the data store administration server 212, which can be configured to confirm that records in the data store 211 are intact and/or updated correctly.
Home and business users 104 can access, through their browsers, one or more web sites supported by the process services 101 and associated with aggregated location-based services. The home and business users 104 can access such web sites by, for example, communicating through a firewall 413 and their internet service providers (ISP) 103. Home users 414 or business users 415 can use either a desktop or laptop computer, or other web site browsing device, for example, to browse the web sites supported by the process services 101 while also receiving email alerts when the desktop or laptop computer, or other web site browsing device, is properly configured.
Email alerts can be available to those who have configured their computers to receive such service from either a company-owned email server or from publicly hosted third-party email servers 410. Both company-owned email servers and third-party email servers 410 can pass traffic through a firewall 418 prior to communication with the email servers 419. The location of the email servers (e.g., internet protocol (IP) addresses) can be registered with third-party mail exchange (MX) servers 408. Email alerts sent by the process services 101 can initially communicate through the internet 102 and through a firewall 417 of the third-party MX servers 408 to the MX servers 416. The MX servers 416 can then return to the process services 101 the actual IP address of the email server to receive the alert email. The process services 101 email can be sent through the firewall 119 (see
At 503, as each zip code is transmitted to a search function of a business HTML web pages on public internet 213 (see
When records are returned at 505, the first record can be selected at 506 and checked to determine whether the record is a new record (e.g., a new location) at 507. When the record is a new record as determined at 507, the record can be added to the data store 211 (see
When the record passed to 507 is not a new record, then the record can be checked to compare all data elements for any changes at 508. When the record has changed since the last update, then the changed record fields can be updated in the data store 211 (see
Returning to 709, an invalid address not recognized by a location, address verification, directions and map transmission 315 provider at 709 can return a notification to the browser of the services user 202 of the invalid address and a re-entry request of the address at 710. A valid address can allow the services user 202 to proceed and submit their distance and sort criteria at 702. The services user 202 can start a search by selecting a button from the service's web page 900 for aggregated location-based services at 703 which is delivered by the web pages delivery server 309. The process can check whether the search included a free text entry at 704. When free text is included in the search at 704, then the process checks for a match from the data store 211 at 711. When there is not a match in the data store 211 at 711, the browser of the service user 202 can be notified of the negative free text match and can prompt the user to perform a new search at 712 and the process can return to the services user 202 to enter a new search at 703.
When there is a match in the data store 211 of the free text entry at 711, then the aggregated location-based services can determine whether this is an item query search or a location search at 713. When the query search is for an item product, then the process can proceed to junction 714 which is described in more detail in the item query search process 800 (see
The items within the sales process radius area and those equal to the exact distance of the radius area can then be selected for further processing at 805. When a search result included more than one distinct product, such as when the query search is for a “camera”, for example, and multiple manufacturers and models are returned, then the process can identify the list of unique product items at 806 and provide the first item to further the process at 807. The first unique item can then be checked to determine whether the lowest price among the business locations that show this item to be in stock is a single lowest sales price. A lowest sales price may not be less than the price that an e-commerce participating business 305 may have approved to sell their product online and can be included with their inventory data updates in addition to their standard (e.g., in-store) retail price. When the lowest price in this first group of unique product items at 807 is that of a standard retail price—presumably from a non-participating business—or more than one lowest sales price, that is, there is a match, then all of the same unique items at any e-commerce participating business 305 in this query can be set to their lowest sales price at 808 to make the item more competitive.
The process can then check whether there are any additional product items that need to be calculated at 813. When the lowest price at 807 is determined to be the lowest sale prices of a single e-commerce participating business 305, then the higher priced e-commerce participating businesses 305 can be set to their lowest sales price at 809. The lowest sales priced e-commerce participating businesses 305 (see
Searches originating from the “Mail” button 910 (also 1301) can result in substantially similar count-down clock displays, however, a mail button search can be followed by a “Drop-off” button 1303 search. Mail drop-off button searches will can display a “pickup in” 1404 count-down clock with, for example, a green-colored background, a “pickup in” 1405 count-down clock with, for example, an amber-colored or yellow-colored background, or a “pickup in” 1406 count-down clock with, for example, a red-colored background. The “closes in” 1401 and 1402 count-down clocks can display the time in hours and minutes until the particular location closes. The “opens in” 1403 count-down clock can display the time in hours and minutes until the particular location opens. The “pickup in” 1404, 1405, and 1406 count-down clocks can display the time in hours and minutes until the next pick up. Green-colored backgrounds can be used when the time displayed is, for example, more than 60 minutes. Amber- or yellow-colored backgrounds can be used when the time displayed is, for example, less than 60 minutes. Red-colored backgrounds can be used to indicate a closed store or that a last pick up has occurred for the day. When the “Mail” button 910 (also 1301) is followed by the “Drop-off button” 1303 search, the time displayed can be in reference to the daily last mail pickup at each location.
The above-described home web screen layout and menu buttons are provided by way of example, and the present disclosure need not be so limited.
Claims
1. A method, comprising:
- receiving on at least one computer information data associated with a selection made by a user from among a plurality of search options concurrently displayed to the user through a web browser;
- receiving on the at least one computer information data associated with a geographical location of the user, such information data being produced by a device on which the web browser is displayed or provided by the user through the web browser;
- receiving on the at least one computer information data associated with a geographical range of interest of the user;
- prior to receiving the data associated with the selection, data associated with the geographical location of the user, and the data associated with the geographical range of the user: receiving on the at least one computer participating business data from a plurality of participating businesses, the participating business data being supplied by the plurality or participating businesses; storing by the at least one computer the participating business data in at least one first portion of at least one data store; fetching by the at least one computer one or more web pages, extracting by the at least one computer non-participating business data for a plurality of non-participating businesses from the one or more web pages, wherein the extracting includes using a location scraper, and wherein the extracted non-participating business data includes location information of the plurality of non-participating businesses; storing by the at least one computer the non-participating business data in at least one second portion of the at least one data store; automatically updating by the at least one computer one or more records to include the participating business data and the non-participating business data;
- processing on the at least one computer the information associated with the selection made, the geographical location, and the geographical range of interest querying by the at least one computer the at least one data store to determine a plurality of businesses of interest that are consistent with the user selected data and are located within the geographical range of interest from the geographical location, the plurality of businesses of interest including a one or more the plurality of participating businesses and one or more the plurality of non-participating businesses;
- determining on the at least one computer a price of at least one service, at least one item, or a combination thereof associated with each of the plurality of businesses of interest identified by the querying from the one or more automatically updated records;
- when a for each business from the plurality of businesses of interest that is a participating business and, determining the price associated with the participating business is not a lowest price of the prices associated with the plurality of businesses of interest, and automatically adjusting by the at least one computer the price associated with the participating business to a price different from a standard price;
- when a for each business from the plurality of businesses of interest that is a non-participating business and the price associated with the non-participating business is not a lowest price of the prices associated with the plurality of businesses of interest, automatically deciding to not adjust the price associated with the non-participating business; and
- sending by the at least one computer the price associated with each of the plurality of participating businesses of interest and non-participating businesses of interest identified by the querying to the web browser for display;
- wherein a record associated with the participating business stored on the at least one computer in the at least one data store is updatable by at least one participating business computer in communication with the at least one computer.
2. The method of claim 1, wherein: the price associated with each of the plurality of businesses of interest is the price of a service, or a item, or both, provided by the plurality of businesses of interest, and the service, or the item, or both, the at least one service, the at least one item, or the combination thereof for which the price is determined, is based on the information data associated with the selection made by a user through the web browser.
3. The method of claim 1, further comprising:
- determining by the at least one computer the lowest price of the prices associated with the plurality of businesses of interest; and
- adjusting by the at least one computer the price associated with at least one of the one or more plurality of participating businesses to be the lowest price when after determining the lowest price is higher than a minimum price provided by the at least one of the one or more the plurality of participating businesses.
4. The method of claim 3, further comprising:
- adjusting by the at least one computer the price associated with the at least one of the one or more plurality of participating businesses based on a predetermined percentage of a standard retail price or on a predetermined amount below the standard retail price to produce an adjusted price,
- wherein when the adjusted price is set to the minimum price after determining the adjusted price is lower than a minimum price provided by the at least one of the one or more plurality of participating businesses, the adjusted price is set to the minimum price.
5. The method of claim 1, wherein:
- when a business from the plurality of businesses of interest is a non-participating business, the price associated with the non-participating business is based on data collected the extracted non-participating business data is extracted from a web site associated with the non-participating business.
6. The method of claim 1, wherein:
- the price associated with the participating business is based on data received from the participating business, the data including data includes a standard retail price, or discount pricing information data, or both.
7. The method of claim 1, wherein:
- the at least one computer determines a business is deemed to be a business of interest when that business has an available service or an available item associated with the selection made by the user and thereby determines that the business is a business of interest, the availability of the service or the availability of the item being determined based on data stored and associated with that business.
8. The method of claim 1, wherein the processing to determine the plurality of businesses of interest querying comprises:
- identifying by the at least one computer the geographical location of the one or more plurality of participating businesses and the one or more the plurality of non-participating businesses;
- determining by the at least one computer whether the geographical location of the one or more plurality of participating businesses and the one or more plurality of non-participating businesses is within the geographical range of interest from the geographical location;
- designating by the at least one computer the one or more plurality of participating businesses and the one or more plurality of non-participating businesses as the plurality of one or more businesses of interest when after determining the geographical location of the one or more plurality of participating businesses and the one or more the plurality of non-participating businesses is within the geographical range of interest from the geographical location; and
- not designating by the at least one computer the one or more plurality of participating businesses and the one or more plurality of non-participating businesses as the plurality of businesses of interest when after determining the geographical location of the one or more plurality of participating businesses and the one or more the plurality of non-participating businesses is not within the geographical range of interest from the geographical location.
9. The method of claim 1, wherein the plurality of search options concurrently displayed to the user through the web browser comprises a plurality of selectable search categories.
10. The method of claim 9, wherein the plurality of search options concurrently displayed to the user through the web browser further comprises a plurality of selectable search sub-categories displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories.
11. The method of claim 9, wherein the plurality of search options further comprises a text entry interface displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories and configured to enable text searches within the selected at least one of the plurality of selectable search categories.
12. A system, comprising:
- at least one server configured to execute an application to communicate with one or more web sites to collect data from the web sites; and
- a storage device configured to store data, including the data collected from the web sites,
- wherein the at least one server is configured to: receive participating business data from a plurality of participating businesses that have with the at least one computer, the participating business data being supplied by the plurality of participating businesses; store the participating business data in at least one first portion of the storage device; extract, with the application, non-participating business data for a plurality of non-participating businesses from the one or more web sites, the non-participating businesses being with the at least one computer, wherein the extracting includes using a location scraper, and wherein the extracted non-participating business data includes location information of the plurality of non-participating businesses; store the non-participating business data in at least one second portion of the storage device; automatically update one or more records to include the participating business data and the non-participating business data; search the data stored in the storage device based on information data received associated with a selection made by a user from among a plurality of search options concurrently displayed to the user through a web browser, on a geographical location of the user, and on a geographical range of interest of the user, the at least one server being configured to determine a plurality of businesses of interest based on the searched data, the plurality of businesses of interest that are consistent with the user selected data and are located within the geographical range of interest from the geographical location including one or more the plurality of participating businesses and one or more the plurality of non-participating businesses, the at least one server being configured to determine a price of at least one service, at least one item, or a combination thereof associated with each of the plurality of businesses of interest from the one or more automatically updated records, the at least one server being configured to for each business from the plurality of businesses of interest that is a participating business, automatically adjust the price associated with the participating business when a business from the plurality of businesses of interest is a participating business and to a price different from a standard price after determining the price associated with the participating business is not a lowest price of the prices associated with the plurality of businesses of interest, the at least one server being configured to for each business from the plurality of businesses of interest that is a non-participating business, automatically decide not to adjust the price associated with the non-participating business when a business from the plurality of businesses of interest is a non-participating business and the price associated with the non-participating business is not a lowest price of the prices associated with the plurality of businesses of interest, and
- wherein the at least one server is configured to send the price associated with each of the plurality of businesses of interest to the web browser for display, and
- wherein a record associated with the participating business stored on the storage device is updatable by at least one participating business computer in communication with the at least one server.
13. The system of claim 12, wherein: the price associated with each of the plurality of businesses of interest is the price of a service, or a item, or both, provided by the plurality of businesses of interest, and the service, or the item, or both, the at least one service, the at least one item, or the combination thereof for which the price is determined, is based on the information data associated with the selection made by a user through the web browser.
14. The system of claim 12, wherein:
- the at least one server is configured to determine a lowest price from the prices associated with the plurality of businesses of interest, and
- the at least one server is configured to adjust the price associated with the at least one of the one or more plurality of participating businesses to be the lowest price when after determining the lowest price is above a minimum price provided by the at least one of the one or more plurality of participating businesses.
15. The system of claim 14, wherein:
- the at least one server is configured to adjust the price associated with the at least one of the one or more plurality of participating businesses based on a predetermined percentage of a standard retail price or on a predetermined amount below the standard retail price to produce an adjusted price,
- wherein when the adjusted price is set to the minimum price after determining the adjusted price is lower than a minimum price provided by the at least one of the one or more plurality of participating businesses, the adjusted price is set to the minimum price.
16. The system of claim 12, wherein:
- when a business from the plurality of businesses of interest is a non-participating business, the price associated with the non-participating business is based on data collected by the first server the extracted non-participating business data is extracted from a web site associated with the non-participating business.
17. The system of claim 12, wherein:
- the price associated with the participating business is based on data stored in the storage device and received from the participating business, the data including data includes a standard retail price, or discount pricing information data, or both.
18. The system of claim 12, wherein:
- the at least one server is configured to execute the application to communicate with the one or more web sites to collect data from the web sites according to a predetermined schedule.
19. The system of claim 12, wherein:
- the data collected from the web sites includes store location and address, or a location name, or a location type, or a phone number, or hours of operation, or mail pick-up times, or package pick-up times, or an item price, or a service price, or inventory quantities, or a product name, or a product number, or a universal product code (UPC), or a combination thereof.
20. The system of claim 12, wherein:
- the at least one server is configured to authenticate a communication with a participating business to store data associated with that participating business in the storage device, and
- the data associated with that participating business includes store location and address, or a location name, or a location type, or a phone number, or hours of operation, or mail pick-up times, or package pick-up times, or an item price, or a service price, or inventory quantities, or a product name, or a product number, or a universal product code (UPC), or a combination thereof.
21. The system of claim 12, wherein determining the plurality of businesses of interest comprises:
- identifying the geographical location of the one or more plurality of participating businesses and the one or more plurality of non-participating businesses;
- determining whether the geographical location of the one or more plurality of participating businesses and the one or more plurality of non-participating businesses is within the geographical range of interest from the geographical location;
- designating the one or more plurality of participating businesses and the one or more plurality of non-participating businesses as the plurality of businesses of interest when after determining the geographical location of the one or more plurality of participating businesses and the one or more plurality of non-participating businesses is within the geographical range of interest from the geographical location; and
- not designating the one or more plurality of participating businesses and the one or more non-participating businesses as the plurality of businesses of interest when after determining the geographical location of the one or more plurality of participating businesses and the one or more plurality of non-participating businesses is not within the geographical range of interest from the geographical location.
22. The system of claim 12, wherein the plurality of search options concurrently displayed to the user through the web browser comprises a plurality of selectable search categories.
23. The system of claim 22, wherein the plurality of search options concurrently displayed to the user through the web browser further comprises a plurality of selectable search sub-categories displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories.
24. The system of claim 22, wherein the plurality of search options further comprises a text entry interface displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories and configured to enable text searches within the selected at least one of the plurality of selectable search categories.
25. A method, comprising:
- receiving on at least one computer information data associated with a selection made by a user from among a plurality of search options concurrently displayed to the user through a web browser;
- receiving on the at least one computer information data associated with a geographical location of the user, such information data being produced by a device on which the web browser is displayed or provided by the user through the web browser;
- receiving on the at least one computer information data associated with a geographical range of interest of the user;
- prior to receiving the data associated with the selection, data associated with the geographical location of the user, and the data associated with the geographical range of the user: receiving on the at least one computer participating business data from a plurality of participating businesses, the participating business data being supplied by the plurality of participating businesses; storing by the at least one computer the participating business data in at least one first portion of at least one data store; fetching by the at least one computer one or more web pages, extracting by the at least one computer non-participating business data for a plurality of non-participating businesses from the one or more web pages, wherein the extracting includes using a location scraper, and wherein the extracted non-participating business data includes location information of the plurality of non-participating businesses; storing by the at least one computer the non-participating business data in at least one second portion of the at least one data store; automatically updating by the at least one computer one or more records to include the participating business data and the non-participating business data;
- processing on the at least one computer the information associated with the selection made, the geographical location, and the geographical range of interest querying by the at least one computer the at least one data store to determine one or more businesses of interest that are consistent with the user selected data and are located within the geographical range of interest from the geographical location;
- generating a timing information data by the at least one computer from the one or more automatically updated records, the timing data associated with a time remaining before a pick up time at that business, and at least one of a time remaining before a closing time of a business from the one of more businesses of interest, or with a time remaining before an opening time of that business, or with a time remaining before a pick up time at that business, the timing information data comprising a numeric time value having associated a color;
- updating the timing information data comprising the numeric time value periodically continuously and automatically by the at least one computer, the updating comprising automatically changing the numeric time value to reflect a change in the time remaining between the updated current time and the pick up time at the business, and at least one of a change in the time remaining between the updated current time and the of the closing time of that business or a change in the time remaining between the updated current time and the opening time of that business;
- sending by the at least one computer the timing information data comprising the numeric time value to the web browser for display; and
- periodically sending an the updated timing information data by the at least one computer comprising the numeric time value to the web browser for display, the updated timing data comprising a different numeric time value from the timing data prior to the updating.
26. The method of claim 25, wherein:
- when the timing data is green for the one or more automatically updated records having the time remaining before the closing time or before the pick up time that is more than a predetermined time, the color associated with the timing information is green.
27. The method of claim 25, wherein:
- when the timing data is amber or yellow for the one or more automatically updated records having the time remaining before the closing time or before the pick up time that is less than a predetermined time, the color associated with the timing information is amber or yellow.
28. The method of claim 25, wherein:
- the color associated with the time remaining before the opening time, or when for the one or more automatically updated records having the next pick-up time that is not the same day, is red.
29. The method of claim 25, further comprising:
- sending by the at least one computer at least a subset of the participating business data or non-participating business data the price associated with each of the one or more businesses of interest to the web browser for display;
- receiving on the at least one computer a selection of one of the one or more businesses of interest; and
- generating by the at least one computer the timing information data for the selected business from the one or more businesses of interest.
30. The method of claim 25, wherein the plurality of search options concurrently displayed to the user through the web browser comprises a plurality of selectable search categories.
31. The method of claim 30, wherein the plurality of search options concurrently displayed to the user through the web browser further comprises a plurality of selectable search sub-categories displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories.
32. The method of claim 30, wherein the plurality of search options further comprises a text entry interface displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories and configured to enable text searches within the selected at least one of the plurality of selectable search categories.
33. A method, comprising:
- receiving on at least one computer data associated with a selection made by a user from among a plurality of search options displayed to the user through a web browser;
- receiving on the at least one computer data associated with a geographical location of the user, such data being produced by a device on which the web browser is displayed or provided by the user through the web browser;
- receiving on the at least one computer data associated with a geographical range of interest of the user;
- prior to receiving the computer data associated with the selection, the computer data associated with the geographical location of the user, and the computer data associated with the geographical range of the user: receiving on the at least one computer participating business data from a plurality of participating businesses, the participating business data being supplied by the plurality of participating businesses; storing by the at least one computer the participating business data in at least one first portion of at least one data store; fetching by the at least one computer one or more web pages; extracting by the at least one computer non-participating business data for a plurality of non-participating businesses from the one or more web pages, wherein the extracting includes using a location scraper, and wherein the extracted non-participating business data includes location information of the plurality of non-participating businesses; storing by the at least one computer the non-participating business data in at least one second portion of the at least one data store; automatically updating by the at least one computer one or more records to include the participating business data and the non-participating business data;
- querying by the at least one computer the at least one data store to determine a plurality of businesses of interest that are consistent with the user selected data and are located within the geographical range of interest from the geographical location, the plurality of businesses of interest including a plurality of participating businesses and a plurality of non-participating businesses;
- determining on the at least one computer a price of at least one service, at least one item, or a combination thereof associated with each of the plurality of businesses of interest identified by the querying from the one or more automatically updated records;
- for each business from the plurality of businesses of interest that is a participating business, determining a condition, including a price condition and a location condition, associated with the participating business is satisfied and automatically adjusting by the at least one computer the price associated with the participating business to a price different from a standard price;
- for each business from the plurality of businesses of interest that is a non-participating business determining the condition, including the location condition, associated with the non-participating business is satisfied and not adjusting by the at least one computer the price associated with the non-participating business; and
- sending by the at least one computer the price associated with each of the plurality of businesses of interest identified by the querying to the web browser for display;
- wherein a record associated with the participating business stored in the at least one data store is updatable by at least one participating business computer in communication with the at least one computer.
34. The method of claim 33, wherein the condition comprises the price associated with the business of interest not being a lowest price of the prices associated with the plurality of businesses of interest.
35. The method of claim 33, wherein the at least one service, the at least one item, or the combination thereof for which the price is determined is based on the data associated with the selection made by a user through the web browser.
36. The method of claim 33, further comprising:
- determining by the at least one computer the lowest price of the prices associated with the plurality of businesses of interest; and
- adjusting by the at least one computer the price associated with at least one of the plurality of participating businesses to be the lowest price after determining the lowest price is higher than a minimum price provided by the at least one of the plurality of participating businesses.
37. The method of claim 36, further comprising:
- adjusting by the at least one computer the price associated with the at least one of the plurality of participating businesses based on a predetermined percentage of a standard retail price or on a predetermined amount below the standard retail price to produce an adjusted price,
- wherein the adjusted price is set to the minimum price after determining the adjusted price is lower than a minimum price provided by the at least one of the plurality of participating businesses.
38. The method of claim 33, wherein:
- the extracted non-participating business data is extracted from a web site associated with the non-participating business.
39. The method of claim 33, wherein:
- the received participating business data includes standard retail price, or discount pricing data, or both.
40. The method of claim 33, wherein:
- the at least one computer determines a business to be a business of interest after determining that business has an available service or an available item associated with the selection made by the user, the availability of the service or the availability of the item being determined based on data stored and associated with that business.
41. The method of claim 33, wherein the querying comprises:
- identifying by the at least one computer the geographical location of the plurality of participating businesses and the plurality of non-participating businesses;
- determining by the at least one computer whether the geographical location of the plurality of participating businesses and the plurality of non-participating businesses is within the geographical range of interest from the geographical location;
- designating by the at least one computer the plurality of participating businesses and the plurality of non-participating businesses as the plurality of one or more businesses of interest after determining the geographical location of the plurality of participating businesses and the plurality of non-participating businesses is within the geographical range of interest from the geographical location; and
- not designating by the at least one computer the plurality of participating businesses and the plurality of non-participating businesses as the plurality of businesses of interest after determining the geographical location of the plurality of participating businesses and the plurality of non-participating businesses is not within the geographical range of interest from the geographical location.
42. The method of claim 33, wherein the plurality of search options displayed to the user through the web browser comprises a plurality of selectable search categories.
43. The method of claim 42, wherein the plurality of search options displayed to the user through the web browser further comprises a plurality of selectable search sub-categories displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories.
44. The method of claim 42, wherein the plurality of search options further comprises a text entry interface displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories and configured to enable text searches within the selected at least one of the plurality of selectable search categories.
45. A system, comprising:
- at least one server configured to execute an application to communicate with one or more web sites to collect data from the web sites; and
- a storage device configured to store data, including the data collected from the web sites,
- wherein the at least one server is configured to: receive participating business data from a plurality of participating businesses, the participating business data being supplied by the plurality of participating businesses; store the participating business data in at least one first portion of the storage device; extract, with the application, non-participating business data for a plurality of non-participating businesses from the one or more web sites, wherein the extracting includes using a location scraper, and wherein the extracted non-participating business data includes location information of the plurality of non-participating businesses; store the non-participating business data in at least one second portion of the storage device; automatically update one or more records to include the participating business data and the non-participating business data; search the data stored in the storage device based on data received associated with a selection made by a user from among a plurality of search options displayed to the user through a web browser, on a geographical location of the user, and on a geographical range of interest of the user, determine a plurality of businesses of interest based on the searched data, the plurality of businesses of interest that are consistent with the user selected data and are located within the geographical range of interest from the geographical location including a plurality of participating businesses and plurality of non-participating businesses, determine a price of at least one service, at least one item, or a combination thereof associated with each of the plurality of businesses of interest from the one or more automatically updated records, for each business from the plurality of businesses of interest that is a participating business, automatically adjust the price associated with the business to a price different from a standard price after determining a condition, including a price condition and a location condition, associated with the participating business is satisfied, for each business from the plurality of businesses of interest that is a non-participating business, maintaining the price associated with the non-participating business after determining the condition, including the price condition and the location condition, associated with the participating business is satisfied, and send the price associated with each of the plurality of businesses of interest to the web browser for display, and
- wherein a record associated with the participating business stored on the storage device is updatable by at least one participating business computer in communication with the at least one server.
46. The system of claim 45, wherein the condition comprises the price associated with the business of interest not being a lowest price of the prices associated with the plurality of businesses of interest.
47. The system of claim 45, wherein the at least one service, the at least one item, or the combination thereof for which the price is determined is based on the data associated with the selection made by a user through the web browser.
48. The system of claim 45, wherein:
- the at least one server is configured to determine a lowest price from the prices associated with the plurality of businesses of interest, and
- the at least one server is configured to adjust the price associated with the at least one of the plurality of participating businesses to be the lowest price after determining the lowest price is above a minimum price provided by the at least one of the plurality of participating businesses.
49. The system of claim 48, wherein:
- the at least one server is configured to adjust the price associated with the at least one of the plurality of participating businesses based on a predetermined percentage of a standard retail price or on a predetermined amount below the standard retail price to produce an adjusted price,
- wherein the adjusted price is set to the minimum price after determining the adjusted price is lower than a minimum price provided by the at least one of the plurality of participating businesses.
50. The system of claim 45, wherein:
- the extracted non-participating business data is extracted from a web site associated with the non-participating business.
51. The system of claim 45, wherein:
- the participating business data includes a standard retail price, or discount pricing data, or both.
52. The system of claim 45, wherein:
- the at least one server is configured to execute the application to communicate with the one or more web sites to collect data from the web sites according to a predetermined schedule.
53. The system of claim 45, wherein:
- the data collected from the web sites includes store location and address, or a location name, or a location type, or a phone number, or hours of operation, or mail pick-up times, or package pick-up times, or an item price, or a service price, or inventory quantities, or a product name, or a product number, or a universal product code (UPC), or a combination thereof.
54. The system of claim 45, wherein:
- the at least one server is configured to authenticate a communication with a participating business to store data associated with that participating business in the at least one first portion of the storage device, and
- the data associated with that participating business includes store location and address, or a location name, or a location type, or a phone number, or hours of operation, or mail pick-up times, or package pick-up times, or an item price, or a service price, or inventory quantities, or a product name, or a product number, or a universal product code (UPC), or a combination thereof.
55. The system of claim 45, wherein determining the plurality of businesses of interest comprises:
- identifying the geographical location of the plurality of participating businesses and the plurality of non-participating businesses;
- determining whether the geographical location of the plurality of participating businesses and the plurality of non-participating businesses is within the geographical range of interest from the geographical location;
- designating the plurality of participating businesses and the plurality of non-participating businesses as the plurality of businesses of interest after determining the geographical location of the plurality of participating businesses and the plurality of non-participating businesses is within the geographical range of interest from the geographical location; and
- not designating the plurality of participating businesses and the plurality of non-participating businesses as the plurality of businesses of interest after determining the geographical location of the plurality of participating businesses and the plurality of non-participating businesses is not within the geographical range of interest from the geographical location.
56. The system of claim 45, wherein the plurality of search options displayed to the user through the web browser comprises a plurality of selectable search categories.
57. The system of claim 56, wherein the plurality of search options displayed to the user through the web browser further comprises a plurality of selectable search sub-categories displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories.
58. The system of claim 56, wherein the plurality of search options further comprises a text entry interface displayed to the user through the web browser in response to a selection of at least one of the plurality of selectable search categories and configured to enable text searches within the selected at least one of the plurality of selectable search categories.
59. The method of claim 25, wherein:
- updating the timing data further comprises changing the color; and
- the updated timing data periodically sent to the web browser for display further comprises a different color from the timing data prior to the updating.
5158155 | October 27, 1992 | Domain et al. |
5999914 | December 7, 1999 | Blinn et al. |
6341268 | January 22, 2002 | Walker |
6522971 | February 18, 2003 | Tanaka |
6654684 | November 25, 2003 | Shinada |
7127416 | October 24, 2006 | Tenorio |
7257552 | August 14, 2007 | Franco |
7596513 | September 29, 2009 | Fargo |
7606740 | October 20, 2009 | Greaves |
7668811 | February 23, 2010 | Janssens |
7693834 | April 6, 2010 | Gross |
8015172 | September 6, 2011 | Cave |
8584940 | November 19, 2013 | Mesaros |
8630923 | January 14, 2014 | Rothman |
8805861 | August 12, 2014 | Boyan |
20040143502 | July 22, 2004 | McClung, III |
20040249643 | December 9, 2004 | Ouyang et al. |
20060259421 | November 16, 2006 | Maass |
20070130090 | June 7, 2007 | Staib et al. |
20070150369 | June 28, 2007 | Zivin |
20070265914 | November 15, 2007 | McClung |
20080091539 | April 17, 2008 | Ruckart |
20080215552 | September 4, 2008 | Safoutin |
20080301006 | December 4, 2008 | Holly et al. |
20080319849 | December 25, 2008 | Rapoport |
20090012881 | January 8, 2009 | Popelka et al. |
20090164383 | June 25, 2009 | Rothman |
20090199124 | August 6, 2009 | Birch |
20100042488 | February 18, 2010 | McClung, III |
20100125492 | May 20, 2010 | Lin et al. |
20100125497 | May 20, 2010 | Arguello |
- I. Austen, “Samsung Puts a Colorful Twist on its Handheld-Phone Hybrid”, New York Times, p. G3, Apr. 19, 2001.
- Related U.S. Appl. No. 12/842,531 electronically captured on Jul. 30, 2015.
Type: Grant
Filed: Feb 4, 2015
Date of Patent: Jan 7, 2025
Assignee: UVerj, LLC (Leesburg, VA)
Inventor: Michael O'Dell (Leesburg, VA)
Primary Examiner: C. Michelle Tarae
Application Number: 14/614,220
International Classification: G06Q 30/0601 (20230101); G06F 16/29 (20190101); G06F 16/9537 (20190101); G06Q 30/02 (20230101);