Displaying offers for reservations on a map

The network page system addresses inefficiencies in complex query processing by using a map-based interface to visually distinguish offers within and outside a geographic region, enhancing search efficiency and reducing resource consumption.

DE112023006255T5Pending Publication Date: 2026-04-23AIRBNB INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
AIRBNB INC
Filing Date
2023-04-27
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing network page systems face challenges in returning up-to-date results for complex queries, consuming significant computing resources, and failing to identify sufficient matches, leading to user frustration and wasted resources due to repetitive manual search adjustments.

Method used

A network page system that utilizes a map-based graphical user interface to visually distinguish offers within and outside a specified geographic region, reducing the need for additional searches and refining search queries, thereby optimizing computing resource usage.

Benefits of technology

The system efficiently identifies relevant offers by visually highlighting matches on a map, reducing computing resource consumption and user frustration, while providing more comprehensive search results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000023_0000
    Figure 00000023_0000
  • Figure 00000024_0000
    Figure 00000024_0000
  • Figure 00000025_0000
    Figure 00000025_0000
Patent Text Reader

Abstract

A system is described that enables searching for presentations of accommodation reservation offers on a map. The system receives input, comprising search criteria associated with a geographic region, from a network page of an offer network platform and identifies a multitude of offers that match the search criteria. The system identifies a first subset of offers from this multitude, each assigned to a specific location within a boundary assigned to the geographic region, and a second subset of offers from this multitude, each assigned to a specific location outside the boundary assigned to the geographic region.The system visually distinguishes the first subset of offers from the second subset of offers on a map-based graphical user interface (GUI), which displays the multitude of offers that match the search criteria.
Need to check novelty before this filing date? Find Prior Art

Description

AREA OF TECHNOLOGY

[0001] The present disclosure generally relates to specialized machines that manage data processing and improvements to such variants, and the technologies by which such specialized machines are improved compared to other specialized machines for searching a real estate offer page for reservations. GENERAL STATE OF THE ART

[0002] Users of network pages can create content that can be viewed and interacted with by other network page users (e.g., booking, registering, subscribing, viewing offers). The posted content can be updated, created, or deleted, and it can be computationally challenging for a network page to return valid search results to users searching for content (e.g., offers for reservations) with specified parameters (e.g., dates, categories, prices, quantity). For example, if a large number of users post and update content, and also a large number of users submit complex searches for the posted content, any delay in calculation due to query complexity can lead to inaccurate results and high consumption of computing resources (e.g., CPUs, CPUs, etc.).processing, storage, network overhead) are caused. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] Several of the accompanying drawings serve only to illustrate exemplary embodiments of the present disclosure and are not to be regarded as limiting its scope. Fig. Figure 1 is a block diagram illustrating a search and display system implemented in a networked environment, according to some examples. Fig. Figure 2 shows an example of functional engines of a search and display system according to some examples. Fig. Figure 3 shows a user interface for a quote network page, generated by the quote network platform and the search and display system (or quote search system) according to some examples. Fig. Figures 4-7 show exemplary configurations and user interfaces of a quote search system according to some examples. Fig. Figure 8 shows a flowchart of various processes and procedures for searching offers on the offer network page according to some exemplary embodiments. Fig. Figure 9 is a block diagram illustrating the architecture of software used to implement the disclosed system, according to some examples. Fig. Figure 10 shows a machine as an exemplary computer system with instructions to induce the machine to implement the disclosed system according to some examples. DETAILED DESCRIPTION

[0004] The following description includes systems, methods, techniques, instruction sequences, and computer program products that embody illustrative embodiments of the disclosure. For the sake of clarification, numerous specific details are included in the following description to provide an understanding of various embodiments of the inventive subject matter. However, it will be clear to those skilled in the art that embodiments of the inventive subject matter can also be implemented without these specific details. In general, known instruction instances, protocols, structures, and techniques are not necessarily shown in detail.

[0005] As discussed above, it can be difficult to return up-to-date results for complex queries about content posted on a network page. Additionally, navigating the vast amount of content available on a network page can be very complex and time-consuming. Such navigation may involve browsing multiple pages of information to find a suitable result or action. To address this, a search and display system can be configured to efficiently search complex queries, enable browsing of a network page, return accurate results, and perform requested actions with minimal consumption of computing resources. Although the content posted as an example in the following discussion consists of accommodation listings (e.g.,In addition to offers for reservations posted on a network page for searching and interacting with other end users, other types of network page content posted by end users and searched by other end users can also be implemented in the processes and procedures of the search and display system, such as transportation, experiences and / or events.

[0006] Generally, a quote platform can be searched for available offers that match a specified time period, price range, and / or other attributes (features, cancellation policies, etc.) that can be specified in a given query (e.g., text field, dropdown menu, checkbox filter). To search and browse the quote platform, users can access it through a specific user interface channel, such as by phone or via an application associated with the platform.

[0007] While some offer attributes are relatively static and common to all potential results, and therefore quick to look up, pricing and appointment availability are highly dynamic because (1) they change frequently (e.g., the host of an offer updates an availability calendar, dynamic price changes due to supply and demand) and (2) they have higher accuracy requirements (e.g., searching end users have a low tolerance for price discrepancies). To address these issues, the price and appointment availability attributes are processed at search time in response to each new request received through a specific user interface channel. This can consume a significant amount of computing resources.For example, the process of calculating pricing and availability per offer for regular queries (e.g., simple date range, finite price range, small geographic area) can consume over 30% of the CPU power serving the search.

[0008] Sometimes these systems can consume computing resources trying to find suitable offers, and they may fail to identify a sufficient number of potential matches. Such systems typically present search results in a specific ranking, with tiles representing each search result. The configuration of the tiles and the content displayed within them are usually identical, so the user has access to the same information for each relevant result. The results presented to the user in this way can therefore be minimal, which may prompt the user to manually adjust the search parameters to find better matches. In particular, the display of results is generally not designed to draw the user's attention to any specific result.Once the search parameters are finally updated, the revision causes the systems to consume a significant amount of computing resources again to find matching results. Some of these results may have already been available in the original search but were not identified by the user due to missing information in the corresponding tile. In many cases, users may still be dissatisfied with the returned hits and may choose to manually shorten or lengthen the search duration. Such repetitive and manual processes are incredibly time-consuming and can be very frustrating for end users. This can lead to missed opportunities and wasted computing resources.

[0009] To solve these technical problems, the disclosed techniques provide a network page that allows a user to interact with the offer network page and efficiently view search results. Specifically, the network page can receive input containing search criteria and identify a multitude of offers that match the search criteria, including a specified geographic region.The network page can identify a multitude of offers that match the search criteria and can identify a first subset of offers from this multitude, each associated with a location within a boundary defined by the geographic region, and a second subset of offers from this multitude, each associated with a location outside the boundary defined by the geographic region. The network page can then visually distinguish the first subset of offers from the second subset on a map-based graphical user interface (GUI), which displays the multitude of offers that match the search criteria, to help the user find relevant offers.

[0010] This can help users easily identify and select offers that might be of interest to them by highlighting those that match or fulfill their needs based on their search query in a map-based GUI. In this way, the network can prevent the need for additional searches or the need to refine an initial search query. This effectively reduces the amount of computing resources that a searching end user must expend and consume, freeing up those resources for other tasks and fulfilling other search queries.

[0011] With reference to Fig. Figure 1 shows an example of a higher-level client-server-based network architecture 100. A networked system 102, for example in the form of a network-based service offering system, provides server-side functionality to one or more client devices 110 via a network 104 (e.g., the Internet or a wide area network - WAN). In some implementations, a user (e.g., user 106) interacts with the networked system 102 using the client device 110.

[0012] Fig. Figure 1 illustrates, for example, a web client 112 (e.g., a browser), client application(s) 114, and a programmatic client 116 running on the client device 110. The client device 110 includes the web client 112, the client application(s) 114, and / or the programmatic client 116 alone, together, or in any suitable combination. Although in Fig. Figure 1 shows a client device 110; in other implementations, the network architecture 100 includes multiple client devices.

[0013] In various implementations, the client device 110 can include a computing device that incorporates at least a display and communication capability, providing access to the networked system 102 via the network 104. The client device 110 includes, but is not limited to, a remote device, a workstation, a computer, a general-purpose computer, an internet device, a handheld device, a wireless device, a portable device, a portable computer, a cellular or mobile phone, a personal digital assistant (PDA), a smartphone, a tablet, an ultrabook, a netbook, a laptop, a desktop computer, a multiprocessor system, microprocessor-based or programmable consumer electronics, game consoles, a set-top box (STB), a network personal computer (PC), a mini-computer, and so on.In one example, the client device 110 includes one or more touchscreens, accelerometers, gyroscopes, biometric sensors, cameras, microphones, global positioning system (GPS) devices, and the like.

[0014] Client device 110 communicates with network 104 via a wired or wireless connection. For example, one or more segments of network 104 may include an ad-hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wide area network (WWAN), a metropolitan area network (MAN), a portion of the internet, a portion of the public switched telephone network (PSTN), a cellular network, a wireless network, a wireless Fidelity (Wi-Fi®) network, a worldwide interoperability for microwave access (WiMAX) network, another type of network, or any suitable combination thereof. When communicating with network 104 via the first user interaction channel, client device 110 may only be able to send audio or voice data to network 104.When communicating with network 104 via the second user interaction channel, client device 110 can send data representing selections on a GUI, image content and / or audio or voice data to network 104.

[0015] In some examples, the client device 110 includes one or more of the applications (also referred to as "apps") such as, but not limited to, web browsers, book reader apps (operable to read e-books), media apps (operable to present various media formats, including audio and video), fitness apps, biometric monitoring apps, notification apps, electronic mail (email) apps, e-commerce website apps (also referred to as "marketplace apps"), and reservation applications for temporary stays or experiences in hotels, motels, or apartments managed by other end users (e.g., an employing end user who owns a house and rents out the entire house or a private room). In some implementations, the client application(s) 114 include various components that are operable to present information to the user and to communicate with the networked system 102.In some examples, when the e-commerce website application is included in client device 110, this application is configured to provide the user interface and at least some of the functionalities locally to the user. The application is also configured to communicate with the networked system 102 when needed for data or processing capabilities not available locally (e.g., accessing a database of items available for sale to authenticate a user or to verify a payment process). Conversely, if the e-commerce website application is not included in client device 110, client device 110 can access the e-commerce website (or a variant thereof) hosted on networked system 102 through its web browser.

[0016] The web client 112 accesses the various systems of the networked system 102 via the web interface supported by a web server 122. Similarly, the programmatic client 116 and the client application(s) 114 access the various services and functions provided by the networked system 102 via the programmatic interface provided by an application programming interface (API) server 120.

[0017] Users (e.g., user 106) can include a person, a machine, or other means of interacting with client device 110. In some examples, user 106 is not part of network architecture 100 but interacts with network architecture 100 through client device 110 or other means. For example, user 106 provides input (e.g., touchscreen input or alphanumeric input) to client device 110, and the input is communicated to network system 102 via network 104 using the second user interaction channel. In this case, in response to receiving the input from user 106 via network 104, network system 102 transmits information to client device 110 so that it can be presented to user 106. In this way, user 106 can interact with network system 102 using client device 110.As another example, user 106 provides input (e.g., voice input) to client device 110, and the input is transmitted via network 104 to networked system 102 in the form of audio packets or audio data.

[0018] The API server 120 and the web server 122 are connected to one or more application servers 140 and provide them with programmatic and web interfaces, respectively. The application server(s) 140 can host a product network platform 142 and a product search system 150, each comprising one or more modules or applications, which can be implemented as hardware, software, firmware, or any combination thereof. The application server(s) 140 are, in turn, connected to one or more database servers 124, which facilitate access to one or more information storage repositories or one or more databases 126. In one example, the database(s) 126 are storage devices that store information (e.g., inventory, image data, catalog data) to be entered on the product network platform 142. According to some examples, the database(s) 126 also store digital product information.

[0019] Additionally, a social networking platform 131 is illustrated, which runs on one or more third-party server(s) 130. Furthermore, the social networking platform 131 can programmatically access the networked system 102 via the programmatic interface provided by the API server 120. The social networking platform 131 may include a social networking website, a notification platform, and one or more APIs. In some examples, the electronic message discussed below is a message sent to a given user via the notification system of the social networking platform 131 (e.g., a social media chat message, post, ping (a "hello" notification), and so on).

[0020] The Offering Network Platform 142 provides a range of publishing functions and offering services for users accessing the networked System 102. While the Offering Network Platform 142 is in Fig. As shown in Figure 1 as part of the networked system 102, it is evident that in alternative examples the offer network platform 142 can form part of a web service that is separate and distinct from the networked system 102.

[0021] While the in Fig. Although the client-server-based network architecture shown in Figure 100 employs a client-server architecture, the disclosed techniques are not limited to such an architecture and can equally be implemented, for example, in a distributed or peer-to-peer architecture system. The various systems of the application server(s) 140 (e.g., the offer network platform 142 and the offer search system 150) can also be implemented as standalone software programs that do not necessarily have network capabilities.

[0022] The service network platform 142 can be hosted on dedicated or shared server machines that are communicatively coupled to enable communication between them. The components themselves are communicatively coupled with each other and with various data sources (e.g., via suitable interfaces), so that information can be forwarded between applications or the applications can use and access shared data. Furthermore, the components access one or more databases 126 via the database server(s) 124.The Offer Network Platform 142 provides a range of posting and offering mechanisms whereby a seller (also referred to as the "first user", posting user, host) can list goods or services for sale or exchange (or post information about them), a buyer (also referred to as the "second user", searching user, guest) can express interest in these goods or services or express a desire to buy or exchange these goods or services, and a transaction (such as a trade) can be completed in respect of the goods or services.

[0023] Fig. Figure 2 shows an example of functional engines of the offer search system 150 according to some examples. As illustrated, the offer search system 150 includes a search criteria component 220, a pre-retrieval component 240, and a map-based GUI component 260. In some examples, a user may wish to perform an action with the offer network platform 142. For example, the user may wish to search for an offer for a reservation, modify one or more reservations contained in the offer network platform 142, list a reservation on the offer network platform 142, communicate with a host of an offer on the offer network platform 142, request a refund for a reservation on the offer network platform 142, pay for services on the offer network platform 142, and / or perform any other available function on the offer network platform 142.

[0024] In such cases, a user can contact the Offer Network Platform 142 through any number of user interaction channels. For example, the user can establish an initial user interaction channel with the Offer Network Platform 142 by making a phone call via the Client Device 110 to a service phone number associated with the Offer Network Platform 142. In response to receiving the phone call, the Offer Network Platform 142 can search a database that maps a phone number from the Client Device 110 to the user's account on the Offer Network Platform 142. As another example, the user can contact the Offer Network Platform 142 by accessing a GUI associated with the Offer Network Platform 142.The GUI allows the user to enter search criteria by typing letters from a string used to search for offers on the offer network platform 142. In some examples, the search criteria are supplied or transferred from the client device 110 to the search criteria component 220.

[0025] In some cases, the search criteria can specify a particular geographic region of interest, such as by specifying a city name, a landmark name, GPS coordinates, by drawing a circle or shape on a map-based GUI, or by another suitable method. The search criteria component 220 can receive the specified geographic region of interest and / or generate the region of interest by specifying intersections and boundaries or an area measured from a landmark specified in the search criteria.

[0026] The search criteria component 220 can process the search criteria and perform a search of the offer information stored in the offer network platform 142 to identify a variety of offers that match the search criteria, including finding offers associated with physical locations within a certain threshold or range of the specific geographic region of interest provided in the search criteria. The search criteria can be entered by selecting certain drop-down options. For example, the search criteria can define various attributes, such as a number of adults, a number of children and / or their respective ages, a minimum and / or maximum length of stay, and so on.

[0027] In some examples, the search criteria component 220 can continuously monitor letters being typed into the GUI of the client device 110. The search criteria component 220 can continuously search a list of points of interest based on one or more partially completed words of the search criteria as the search criteria are being entered. The search criteria component 220 can search different types of points of interest and organize these different types of points of interest in a window for presentation to a user of the client device 110. In this way, as the user types letters of the search criteria, preliminary results are presented to the user so that the user can automatically complete the search criteria.For example, if the user types the word "pari", the search criteria component 220 can initiate a search for the landmarks and identify a large number of landmarks associated with a part of the incomplete word "pari" that corresponds to the complete word "Paris".

[0028] The search criteria component 220 can also present a search results region in the GUI. This region can display a list of graphical objects, each associated with one of the identified multitude of offers. These graphical objects can contain detailed information about each offer that matches the search criteria, such as an image, video, description, and so on. The search criteria component 220 can access the prefetch component 240 to control the selective and conditional presentation of one or more features within one or more of the graphical objects in the GUI.

[0029] In some examples, the search criteria component 220 can present a map-based GUI along with the list of graphical objects. Specifically, the search criteria component 220 can generate a map for display centered on the specific geographic region of interest provided in the search criteria. The search criteria component 220 can set a zoom factor for the map displayed in the map-based GUI to a default or user-defined value. The search criteria component 220 can then communicate with the map-based GUI component 260 to generate representations of each offering located within the search results region, such as those associated with... Fig. 3 offers were discussed.

[0030] Fig. Figure 3 shows a user interface 300 (e.g., a mobile application interface, a web browser interface) for a listing network page, generated by the listing network platform 142 and the listing search system 150 according to some examples. The user interface 300 can be presented by the programmatic client 116, which is implemented on the client device 110. As illustrated, the user interface 300 includes a search field 310, a menu item 315 for filters (e.g., type of location, amenities), and a search button 320. The user enters a listing request into the search field 310, such as a search for temporary accommodation in San Francisco, and a category restriction "Entire Place" from the menu item 315 for filters (e.g., the user wants to rent the entire apartment for the specified dates and not just a room in someone else's apartment).The user can customize the query directly by entering terms into the search field 310 or by using filters listed under menu item 315 for filters. Furthermore, the user can select dates using a dropdown item 317 for dates to choose a specific date range for the temporary stay. For example, the user can use the dropdown item 317 for dates and a popup calendar (in . Fig. Select option 3 (not shown) to specify that the stay in San Francisco should specifically last from July 16, 2021 to July 18, 2021. In some cases, the user can provide one or more attributes of the search query via menu item 315 for filters, such as the children's ages and the minimum / maximum duration of the stay.

[0031] After the request is submitted (e.g., by selecting the search button 320 or automatically after selecting item 313 for combined offers (option for shared stays) or the dropdown item 317 for appointments), communication is sent from the programmatic client 116 to the offer search system 150. The offer search system 150 generates an output that includes a display of the offers (e.g., graphic objects) matching the request and transmits the output to the programmatic client 116.

[0032] The results are then displayed in the results area 305 using respective graphical objects (also called offer indicators). The user can then select the graphical objects for the offers or navigate to further pages via page navigation elements 325. In some examples, the user interface 300 includes a set of combined offers 323 along with individual offers, which are displayed in the results area 305. The combined offers 323 can be positioned within the display in a dedicated area, above the individual offers, between two individual offers, and / or below the individual offers. In some examples, the combined offers 323 are provided in response to receiving input that selects the combined offers element 313.In some examples, the combined offers 323 are presented automatically without receiving an input that selects the element 313 for combined offers.

[0033] In some examples, the 323 combined offers are displayed in different fields or sections of the ad relative to other individual offers, based on the type of client device used to access the system. For example, on a mobile device, the 323 combined offers may be placed on the first page in fields 3, 6, 9, and 12, while on a desktop computer, the same 323 combined offers may be presented in fields 5, 9, 14, and 20 for better visual balance. The term "fields," as used herein, refers to an area of ​​an ad in which a category is presented. In some cases, the 323 combined offers are not presented for last-minute stays, such as when the travel dates are within 48 hours of check-in or departure.In some examples, the combined offers include 323 individual offers for destinations or stays that are at least two hours but no more than ten hours apart by car. In some examples, repeated pairs of the same individual offers are excluded from the combined offers. In some examples, the combined offers include pairs of individual offers from different neighborhoods and locations. In such cases, neighborhoods and offers can be repeated across pairs of combined offers.

[0034] As a concrete example, a quote request for a one-month stay on Kauai, specifying beachfront properties, might be received. In this example, the user identifies only three individual properties that meet these search parameters but identifies ten additional stays as combined properties (323). These combined properties (323) can represent opportunities to experience different aspects of the island throughout the trip and might include options to split time between two towns (e.g., Koloa and Hanalei), two other towns (e.g., Koloa and Lihue), two properties located one mile apart in Koloa, similar towns (e.g., Poipu and Princeville), and / or similar towns (e.g., Lihue and Princeville), and so on.The result of selecting item 313 for combined offers, or the automatic identification of combined offers by the user without having an item 313 for combined offers, can provide the user with 40% more unique listings to choose from that would be excluded if only individual offers were presented.

[0035] In some examples, the presentation of the combined offers 323 may vary based on the type of category selected. For instance, if the National Parks category is selected, the combined offers 323 may include two different national park attractions located at least two hours and at most ten hours apart by car. In some cases, if national parks are very remote, they may still be paired even if their distances exceed these thresholds. The graphical representation of the combined offers 323 can visually identify the two national park offers that are part of the same combined offer without specifying the region / city name. As another example, if a Surfing category is selected, two different surfing destinations may be chosen that are at least two hours and at most ten hours apart by car.The graphical representation of the combined offers 323 can visually identify the two surfing destinations that are part of the same combined offer using the region / city name.

[0036] In some examples, the user interface 300 visually distinguishes those offers within the user interface 300 that are assigned to locations within a specified area of ​​the specific geographic region of interest from those offers assigned to locations outside the specified area. This visual distinction can be achieved by presenting the offers using different fonts, font sizes, font colors, or by presenting the offers in different display areas.

[0037] With renewed reference to Fig. 2. The search criteria component 220 can communicate with the map-based GUI component 260 to generate the visual differentiation between the offers presented on a display, such as the user interface 300. Specifically, the search criteria component 220 can provide the map-based GUI component 260 with a list of search results that include offers matching at least some of the search criteria. The search criteria component 220 can also provide the map-based GUI component 260 with the specific geographic region of interest specified in the search criteria.

[0038] The map-based GUI component 260 can then generate a shape or frame that defines a target region to highlight certain offers near the specific geographic region of interest and within a specified distance from that region. The map-based GUI component 260 can then scan the search results to identify an initial set of offers from the multitude of offers, each associated with a specific location within a boundary defined by the geographic region. For example, the map-based GUI component 260 can identify the initial set of offers associated with physical locations within the specified distance of the respective geographic region of interest.Similarly, the map-based GUI component 260 can search the search results to identify a second set of offers from the multitude of offers, each associated with a specific location that lies beyond or outside the boundary assigned to the geographic region. For example, the map-based GUI component 260 can identify the second set of offers associated with physical locations that lie beyond the specified distance from the respective geographic region of interest.

[0039] The map-based GUI component 260 can then generate an initial set of visual indicators (e.g., an initial set of markers) to represent each of the initial listings. This initial set of visual indicators can be of a first type. The first type of visual indicator is referred to as an information marker. The information marker can be used to visually represent the location of a corresponding listing on a map-based GUI and can also provide one or more pieces of information associated with the listing, such as the property size, address, name, price, valuation, rating, owner, and / or any combination thereof.

[0040] The map-based GUI component 260 then generates a second set of visual indicators (e.g., a second set of markers) to represent each of the second set of listings. This second set of visual indicators can be of a second type. The second type of visual indicator is called a mini-marker. The mini-marker can be used to visually represent the location of a corresponding listing on a map-based GUI without providing the one or more pieces of information associated with the listing, such as property size, address, name, price, valuation, rating, owner, and / or any combination thereof. The mini-marker may appear visually smaller than the information marker when displayed on a map-based GUI.

[0041] The map-based GUI component 260 can return information markers and mini-markers to the search criteria component 220. The search criteria component 220 can then generate a map-based GUI on which the information markers and mini-markers are overlaid at the respective locations of the offers. In some examples, a mini-marker can be converted into an information marker in response to user input. For example, the map-based GUI component 260 can detect input that interacts with the presented map-based GUI, on which the information markers and mini-markers are displayed.

[0042] The map-based GUI component 260 can determine that the input is for zooming or steering the map to center it on a different location. The map-based GUI component 260 can determine that a specific offer, previously outside a boundary associated with the search criteria location, is now within the boundary. In such cases, the visual indicator (e.g., the mini-marker) previously used to represent the specific offer is replaced with a different type on the map-based GUI. For example, the map-based GUI component 260 might generate the mini-marker to represent the specific offer when the map is first displayed because the offer's location lies beyond a certain range from the map's center point or beyond a boundary associated with the location in the search criteria.Later, the map-based GUI component 260 can detect an input that changes the map's boundary or center point to place the specific offer within the area. In response, the map-based GUI component 260 can replace the mini-marker used to represent the specific offer with an information marker. In such cases, the information marker can display one or more pieces of information that were not previously displayed.

[0043] In some examples, the map-based GUI component 260 can vary the presentation style or visual attribute of information markers and / or mini-markers based on user interactions with the offers associated with those markers. For example, the map-based GUI component 260 can receive input that selects an initial offer displayed on the map-based GUI. The map-based GUI component 260 can identify an information marker associated with that initial offer. In response to determining that the user has interacted with the initial offer (e.g., that the user has viewed or selected the initial offer), the map-based GUI component 260 can change a color, visual attribute, or information contained within the information marker used to represent the initial offer.This helps the user distinguish, on the map-based GUI, between markers for offers that have been previously accessed or viewed and markers for offers that have not been previously accessed or viewed. As another example, the map-based GUI component 260 can receive input that selects a second offer displayed on the map-based GUI. The map-based GUI component 260 can identify a mini-marker associated with the second offer. In response to determining that the user has interacted with the second offer (e.g., viewed or selected it), the map-based GUI component 260 can change a color or visual attribute of the mini-marker used to represent the second offer.

[0044] In some examples, the map-based GUI component 260 can visually differentiate offers on the map-based GUI based on ranking information (e.g., the user rating of the corresponding offer and / or the number of ratings) and / or the number of offers available in a given geographic region. For example, the map-based GUI component 260 can display offers with ranking information that meet a ranking criterion (e.g., an offer's ranking exceeds a ranking threshold) on a map-based GUI using information markers. The map-based GUI component 260 can display offers with ranking information that do not meet the ranking criterion (e.g., an offer's ranking does not exceed a ranking threshold) on a map-based GUI using mini-markers.

[0045] For this purpose, the map-based GUI component 260 can select a set of offers within a defined area (e.g., the boundary generated based on the search criteria or another area) that match a search query. The map-based GUI component 260 can then access or calculate ranking information for each offer in the set within the defined area. The map-based GUI component 260 can compare the ranking information for the selected set of offers against a ranking criterion. Each offer in the selected list of offers that has ranking information assigned to it that meets the ranking criterion (e.g.,If an offer has a rating above a certain minimum rating, or if the offer has been booked with a frequency exceeding a minimum frequency or number within a given period, it can be assigned to or represented by an information symbol. Any offer in the selected set of offers that has ranking information assigned to it, but does not meet the ranking criterion, can be assigned to or represented by a mini-marker. In this way, the map-based GUI component 260 can visually distinguish, on the map-based GUI, those offers in a specific region that are ranked above a threshold from those that are ranked below it, for example, by using different types of markers.

[0046] In some examples, the map-based GUI component 260 can selectively cause some offers in a given area of ​​the map-based GUI to be displayed using information markers, while other offers in the same area are displayed using mini-markers or not at all, based on the density or number of available offers in the area. Specifically, the map-based GUI component 260 can determine whether the number of available offers matching the search criteria in a given area exceeds a specified threshold. In response to determining that the number of available offers matching the search criteria in the area exceeds a specified threshold (e.g., a minimum threshold), the map-based GUI component 260 can then access ranking information for those offers.The map-based GUI component 260 can then control the display of mini-markers based on ranking information. For example, if the offer is assigned a rating that exceeds a minimum rating threshold, and / or if the offer is assigned a frequency of reservations or bookings that exceeds a minimum frequency, and / or if the offer has a minimum number of ratings, the map-based GUI component 260 can assign the offer an information marker instead of a mini-marker.

[0047] For example, the map-based GUI component 260 can cause information markers to be displayed in a certain area of ​​the map-based GUI only if the number of available offers matching the search criteria in that area exceeds a specified threshold. The offers selected for inclusion and display via information markers can be based on ranking information. For example, the map-based GUI component 260 can compare the ranking information for each offer matching the search criteria in a certain area against a ranking criterion. The map-based GUI component 260 can select a specified number of offers that have ranking information associated with them and meet the ranking criterion, and can display these offers with information markers.Any offer in the specified area that matches the search criteria but whose ranking information does not meet the ranking criterion is represented by mini-markers or completely excluded from the display in the map-based GUI.

[0048] In some examples, the map-based GUI component 260 can identify a region of the map-based GUI that contains fewer than a threshold number of offers that match the search criteria and have the ranking information that meets a ranking criterion. In such cases, the map-based GUI component 260 can generate displays of all offers in the region using mini-markers instead of information markers. Alternatively, the map-based GUI component 260 can generate displays of all offers in the region that contain fewer than the threshold number of offers that match the search criteria and have the ranking information that meets the ranking criterion using information markers instead of mini-markers.

[0049] For example, as in Fig. Figure 4 shows a GUI 400 that includes a search input 420 for region, a results display 410, and a map display 430. The results display 410 can be generated by the search criteria component 220 based on the processing of search criteria received in the search input 420 for region. The entered region 420 can be used to define a geographic region of interest in which to search for offers and which can be used to center a map-based GUI. The search criteria component 220 can include various graphical objects in the results display 410, each associated with an offer whose offer information matches the search criteria received in the search input 420 for region.

[0050] The search criteria component 220 can present a list of markers (including information markers and / or mini-markers) or location indicators in the map display 430, which are associated with each offer in the results display 410. Specifically, the search criteria component 220 can display a map in the map display 430 at a specific zoom level. The search criteria component 220 can access location information from each offer in the results display 410. The search criteria component 220 can access cost, price, or any other information associated with each offer in the results display 410. The search criteria component 220 can then generate an information marker, a mini-marker, or an identifier for each offer and place this marker or identifier at a specific location on the map in the map display 430, which corresponds to the offer's location information.This visually indicates to the user where, within a given region of a map, different search results match the search criteria. The displayed marker or identifier can provide information associated with each offer.

[0051] In some examples, the map display 430 can define a region 440 that fulfills the search query. Region 440 can include intersections and boundaries defined by a specific shape. The search criteria component 220 can visually distinguish markers corresponding to offer locations within region 440 from those whose offer locations lie outside region 440. For example, the search criteria component 220 can present one or more information markers 432 to represent offers assigned to locations within region 440. The search criteria component 220 can present mini-markers, such as mini-marker 434, to represent offers assigned to locations outside region 440.As mentioned above, mini-markers and / or information markers 432 can be presented based on ranking information and / or the number of offers available in a specified region. For example, information marker 432 can be presented for a first offer that has ranking information that meets a ranking criterion. For example, mini-marker 434 can be presented for a second offer that has ranking information that does not meet the ranking criterion. Both the first and second offers can be assigned to locations that lie within a boundary of the map-based GUI.

[0052] In some cases, the map-based GUI component 260 can detect an input that selects a given marker 450 associated with a specific offer. In response, the map-based GUI component 260 can update the map-based GUI as shown in the user interface 500. In some cases, in response to detecting the input that selects the given marker 450, the map-based GUI component 260 can present information associated with the specific offer in full-screen mode or in a window overlaid on the map-based GUI. The updated map-based GUI can present the same given marker 450 with a different display attribute using the updated marker 510. For example, the updated marker 510 can present the same information as the given marker 450, but in a different color and / or font.The updated marker 510 can be assigned a different color than the given marker 450 to indicate that the offer associated with the given marker 450 has already been viewed and / or selected. This visually distinguishes the updated marker 510 (e.g., updated information marker), which represents an offer that has been viewed or accessed by the user, from another information marker 512, which represents an offer that has not been viewed or accessed by the user.Similar to the visual demarcation of the information markers, the user interface 500 can visually distinguish a first mini-marker 520, which corresponds to an offer that has previously been viewed or accessed by the user, from a second mini-marker 522, which corresponds to an offer that has not previously been viewed or accessed by the user.

[0053] With renewed reference to Fig. 2. The pre-fetch component 240 can be used by the search criteria component 220 to search regions of the map-based GUI that are not currently displayed, in order to proactively retrieve offers for other regions of the map. For example, the pre-fetch component 240 can receive a region of a map that defines a boundary of the map currently displayed in the map-based GUI. The pre-fetch component 240 can also receive search criteria and obtain a threshold distance or calculate a threshold distance based on a user profile.

[0054] The pre-retrieval component 240 can then search for additional offers that meet the search criteria and are located at a distance equal to the threshold distance outside the current boundary of the displayed map. Specifically, the pre-retrieval component 240 can draw a virtual outer boundary between the boundary of the currently displayed map and the boundary extending beyond it at the threshold distance. The pre-retrieval component 240 can search for offers that meet the search criteria and are located within the region defined between the boundary of the currently displayed map and the outer boundary. These additional offers can be stored in a pre-retrieval memory.

[0055] The prefetch component 240 can detect user input that steers or moves the map to display at least a portion of the region between the current boundary and the outer boundary. In response, the prefetch component 240 can retrieve a portion of the prefetched listings and immediately display them on the newly displayed map section. This eliminates the need to perform an updated search for listings that match the search criteria and are associated with locations corresponding to the newly displayed location on the map. In some cases, the different map boundaries may correspond to different zoom levels. In such cases, the prefetch component 240 can search for additional listings corresponding to a closer or farther zoom level than the one currently displayed.In particular, when the user zooms the map out of view, additional geographic regions may be displayed. The prefetch component 240 can pre-retrieve additional data corresponding to these additional geographic regions before receiving user input to zoom out. Similarly, when the user zooms the map in, additional geographic regions may be displayed. The prefetch component 240 can pre-retrieve additional data corresponding to these additional geographic regions before receiving user input to zoom in. This saves computing resources and avoids delays in presenting results to the user.Furthermore, it may not be necessary to receive user input to rescan a newly displayed map area in order to search for the new offers, as these offers are pre-searched by the pre-fetch component 240.

[0056] For example, as in Fig. Figure 6 shows a user interface 600 with a map-based GUI 610. The map-based GUI 610 can present search results that correspond to a current boundary of the map. The search results can include an initial mini-marker or an information marker corresponding to a first city 620. While this map view is displayed, the prefetch component 240 searches for additional offers from the surrounding area that are not currently visible on the map. In this way, as shown in Fig. Figure 7 shows that when input is received from the user using a cursor 710, which drags the map into the surrounding area, the additional markers 720, corresponding to the previously retrieved offers, are presented with minimal or no delay and without examining the offers, based on the search criteria and the updated location. The map can be dragged to reveal a new city 730, and the user can be presented with search results including the additional markers 720.

[0057] Fig. Figure 8 shows a flowchart of various processes and procedures 800 for searching a bid network page according to some examples. These processes and procedures 800 can be carried out by any component discussed above or below, such as the bid search system 150.

[0058] In process 805, the offer search system 150 receives an input from a network page of an offer network platform, which includes search criteria that are assigned to a geographic region, as discussed above.

[0059] In process 810, the offer search system 150 identifies a large number of offers that match the search criteria, as discussed above.

[0060] In process 815, the offer search system 150 identifies an initial subset of offers from the multitude of offers, each assigned to a respective location within a boundary assigned to the geographic region, as discussed above.

[0061] In process 820, the offer search system 150 identifies a second subset of offers from the multitude of offers, each assigned to a respective location that lies outside the boundary assigned to the geographic region, as discussed above.

[0062] In process 825, the offer search system 150 visually distinguishes the first subset of offers from the second subset of offers on a map-based graphical GUI, which displays the multitude of offers that match the search criteria, as discussed above.

[0063] In some examples, the offer search system 150 displays each of the first subset of offers on the map-based GUI using an initial set of markers corresponding to a first marker type (or generates a representation, such as a visual indicator, for this). The offer search system 150 displays each of the second subset of offers on the map-based GUI using a second set of markers corresponding to a second marker type (or generates a representation, such as a visual indicator, for this).

[0064] In some examples, each marker in the first set of markers and the second set of markers on the map-based GUI is placed at a point corresponding to the location of a respective offer associated with that marker. In some examples, the first marker type causes information associated with a particular offer to be displayed on the corresponding marker, while the second marker type prevents information for a corresponding offer from being displayed.

[0065] In some examples, the offer search system retrieves 150 pieces of information associated with a first offer from the first subset of offers and presents this information in a first marker of the first set of markers on the map-based GUI. Simultaneously with presenting the first marker, the offer search system 150 presents a second marker of the second set of markers, excluding information associated with a second offer from the second subset of offers.

[0066] In some examples, the offer search system 150 receives an input that zooms the map-based GUI into a region associated with the second marker. In response to receiving the input, the offer search system 150 zooms the map-based GUI into the region associated with the second marker and causes the second marker to be assigned to the first marker type instead of the second marker type. In some examples, the offer search system 150 retrieves the information associated with the second offer and presents this information in the second marker after the second marker has been assigned to the first marker type.

[0067] In some examples, the offer search system obtains ranking information for the offers in the first subset of offers and compares this ranking information with a ranking criterion. In response to this comparison, the offer search system visually distinguishes the first part of the first subset of offers from the second part of the first subset of offers on the map-based GUI.

[0068] In some examples, the first part of the first subset of offers includes offers in the first subset for which the ranking information meets the ranking criterion, and the second part of the first subset of offers includes offers in the first subset for which the ranking information does not meet the ranking criterion. In some examples, the offer search system 150 displays each of the first part of the first subset of offers on the map-based GUI using a first set of markers corresponding to a first marker type, and displays each of the second part of the first subset of offers on the map-based GUI using a first set of markers corresponding to a first marker type.

[0069] In some examples, the offer search system 150 determines whether the number of offers in the first part of the first subset of offers exceeds a threshold. In response to determining that the number of offers in the first part exceeds the threshold, the offer search system 150 displays the first and second parts of the first subset of offers using the same type of marker. In some examples, the offer search system 150 determines that the first number of offers in the first part exceeds the second number of offers in the second part by a threshold. In response to determining that the first number of offers in the first part exceeds the second number of offers in the second part by the threshold, the offer search system 150 displays the first and second parts of the first subset of offers using the same type of marker.

[0070] In some examples, the offer search system 150 receives input that includes the selection of a marker used to represent a single offer from the first subset of offers or the second subset of offers on the map-based GUI. In response to receiving the input containing the selection of the marker used to represent the single offer, the offer search system 150 modifies a display attribute of the marker to indicate that the marker was previously selected.In some examples, the offer search system 150 identifies a region of the map-based GUI that contains a group of offers associated with ranking information that does not meet a ranking criterion, and in response to determining that the group of offers is associated with ranking information that does not meet the ranking criterion, it displays the group of offers on the map-based GUI using markers of a second type, while the first subset of offers is displayed using markers of a first type.

[0071] In some examples, the offer search system 150 searches for additional offers that match some of the search criteria and are assigned to locations beyond the region currently displayed on the map-based GUI, and saves these additional offers as pre-retrieved offers. In some cases, the locations correspond to sites within a threshold distance of a region boundary. In some examples, the offer search system 150 receives input that directs the map-based GUI to display a new geographic region that is not currently shown in the map-based GUI.The offer search system 150 identifies a subset of pre-retrieved offers that correspond to one or more locations assigned to the new geographic region, without conducting a new search for offers in the new geographic region that match the search criteria. It then displays the new geographic region on the map-based GUI along with representations of the pre-retrieved offers. In some examples, the threshold distance is calculated based on a user profile.

[0072] Fig. Figure 9 is a block diagram 900 illustrating an architecture of software 902 that may be installed on one or more of the devices described above. Fig. Figure 9 is merely a non-limiting example of a software architecture, and it is evident that many other architectures can be implemented to enable the functionality described in this document. In various embodiments, the software 902 is implemented by hardware, such as a machine 1000 of the Fig. 10, which includes the processors 1010, memory 1030, and input / output (I / O) components 1050. In this example architecture, the software 902 can be conceived as a stack of layers, with each layer providing specific functionality. For example, the software 902 includes layers such as an operating system 904, libraries 906, frameworks 908, and applications 910. In operation, the applications 910 make API calls 912 through the software stack and receive messages 914 in response to the API calls 912, which is consistent with some embodiments.

[0073] In various implementations, the 904 operating system manages hardware resources and provides common services. For example, the 904 operating system includes a 920 kernel, 922 services, and 924 drivers. The 920 kernel acts as an abstraction layer between the hardware and the other software layers, which is consistent with some embodiments. For example, the 920 kernel provides, among other things, memory management, processor management (e.g., scheduling), component management, network operation, and security settings. The 922 services can provide additional common services for the other software layers. According to some embodiments, the 924 drivers are responsible for controlling or interfacing with the underlying hardware. For example, the 924 drivers can be display drivers, camera drivers, BLUETOOTH® or BLUETOOTH® Low Energy drivers, flash memory drivers, serial communication drivers (e.g., USB flash drives), or other similar devices.Universal Serial Bus (USB) drivers), Wi-Fi® drivers, audio drivers, power management drivers, and so on.

[0074] In some embodiments, the libraries 906 provide a subordinate common infrastructure that is used by the applications 910. The libraries 906 may include system libraries 930 (e.g., C standard library) that can provide functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like. In addition, the libraries 906 may include API libraries 932, such as media libraries (e.g., libraries to support the presentation and manipulation of various media formats, such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) Audio Codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG)), graphics libraries (e.g.,An OpenGL framework, used for rendering graphical content in two dimensions (2D) and three dimensions (3D) on a display, database libraries (e.g., SQLite, to provide various relational database functions), web libraries (e.g., WebKit, to provide web browser functionality), and the like. Libraries 906 may also include a large variety of other libraries 934 to provide many other APIs for applications 910.

[0075] The Frameworks 908 provide a common, overarching infrastructure that can be used by the Applications 910 according to some implementations. For example, the Frameworks 908 provide various graphical user interface (GUI) functions, overarching resource management, overarching localization services, and so on. The Frameworks 908 can provide a wide range of other APIs that can be used by the Applications 910, some of which may be specific to a particular operating system or platform.

[0076] In one exemplary embodiment, the applications 910 include a main application 950, a contact application 952, a browser application 954, a book reader application 956, a location application 958, a media application 960, a notification application 962, a game application 964, and a wide range of other applications, such as a third-party application 966. According to some embodiments, the applications 910 are programs that execute functions defined in the programs. Various programming languages, structured in different ways, such as object-oriented programming languages ​​(e.g., Objective-C, Java, or C++) or procedural programming languages ​​(e.g., C or assembly language), can be used to create one or more of the applications 910. In a specific example, the third-party application 966 (e.g.,An application developed using the ANDROID™ or IOS™ Software Development Kit (SDK) by a company other than the provider of the respective platform) is mobile software running on a mobile operating system, such as IOS™, ANDROID™, WINDOWS® Phone, or another mobile operating system. In this example, the third-party application 966 can call the API calls 912 provided by the operating system 904 to enable the functionality described in this document.

[0077] Fig. Figure 10 illustrates a schematic representation of a machine 1000 in the form of a computer system in which a set of instructions can be executed to cause the machine to perform one or more of the methods discussed in this document according to an exemplary embodiment. In particular, it shows Fig. 10 A schematic representation of the machine 1000 in the exemplary form of a computer system in which instructions 1016 (e.g., software, a program, an application, an applet, an app, or other executable code) can be executed to cause the machine 1000 to perform one or more of the methods discussed in this document. The instructions 1016 transform the general, unprogrammed machine 1000 into a specific machine 1000 programmed to perform the described and illustrated functions in the manner described. In alternative embodiments, the machine 1000 operates as an independent device or can be coupled to other machines (e.g., networked with them).In a networked deployment, Machine 1000 can operate as a server or client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Machine 1000 can include, but is not limited to, a server computer, a client computer, a PC, a tablet computer, a laptop computer, a netbook, a set-top box, a PDA, an entertainment system, a mobile phone, a smartphone, a mobile device, a wearable device (such as a smartwatch), a smart home device (such as an intelligent appliance), other intelligent devices, a web device, a network router, a network switch, a network bridge, or any machine capable of sequentially or otherwise executing Instructions 1016, which specify the actions to be performed by Machine 1000.Furthermore, although only a single machine 1000 is illustrated, the term "machine" is to be understood as including a group of machines 1000 which individually or collectively execute the instructions 1016 to carry out any one or more of the methods discussed in this document.

[0078] The machine 1000 can include processors 1010, memory 1030, and I / O components 1050, which can be configured to communicate with each other, for example, via a bus 1002. In an exemplary embodiment, the processors 1010 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a radio-frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) can, for example, include a processor 1012 and a processor 1014, which can execute instructions 1016.The term "processor" is intended to include multi-core processors, which can contain two or more independent processors (sometimes also referred to as "cores") that can execute instructions simultaneously. Even if in . Fig. Since 10 multiple processors 1010 are shown, the machine 1000 can include a single single-core processor, a single multi-core processor (e.g., a multi-core processor), multiple single-core processors, multiple multi-core processors, or any combination thereof.

[0079] The memory 1030 can comprise main memory 1032, static memory 1034, and a memory unit 1036, which the processors 1010 can access, for example, via the bus 1002. Main memory 1032, static memory 1034, and the memory unit 1036 store instructions 1016, which embody one or more of the methods or functions described in this document. During their execution by the machine 1000, instructions 1016 can reside wholly or partially in main memory 1032, static memory 1034, the memory unit 1036, at least one of the processors 1010 (e.g., in the processor's cache memory), or a suitable combination thereof.

[0080] The I / O components of the 1050 can include a wide variety of components for receiving inputs, providing outputs, generating outputs, transferring information, exchanging information, taking measurements, and so on. The specific I / O components included in a particular machine depend on the type of machine. Portable machines, such as mobile phones, for example, will likely include a touch input device or other such input mechanisms, whereas a headless server computer will likely not include such a touch input device. It is understood that the I / O components of the 1050 can include many other components that are... Fig.Figure 10 is not shown. The I / O components 1050 are grouped by functionality only for the sake of simplifying the following discussion, and the grouping is in no way restrictive. In various exemplary embodiments, the I / O components 1050 may include output components 1052 and input components 1054. The output components 1052 may include visual components (e.g., a display such as a plasma display panel (PDP), a light-emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., loudspeakers), haptic components (e.g., a vibration motor, resistance mechanisms), other signal generators, and so on. The input components 1054 may include alphanumeric input components (e.g.,a keyboard, a touchscreen configured to receive alphanumeric input, a photo-optical keyboard or other alphanumeric input components), point-based input components (e.g. a mouse, touchpad, trackball, joystick, motion sensor or other pointing device), tactile input components (e.g. a physical button, a touchscreen providing the location and / or force of touches or touch gestures, or other tactile input components), audio input components (e.g. a microphone) and the like.

[0081] In further exemplary embodiments, the I / O components 1050 can include, in addition to a variety of other components, biometric components 1056, motion components 1058, environmental components 1060, or position components 1062. For example, the biometric components 1056 can include components for recognizing expressions (e.g., hand gestures, facial expressions, vocalizations, body gestures, or eye movements), measuring biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identifying a person (e.g., speech recognition, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like. The motion components 1058 can include accelerometer components (e.g., accelerometers), gravity sensor components, rotation sensor components (e.g., gyroscopes), and so on.The environmental components 1060 can include, for example, light sensor components (e.g., photometers), temperature sensor components (e.g., one or more thermometers that detect the ambient temperature), humidity sensor components, pressure sensor components (e.g., barometers), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to a physical environment. The position components 1062 can include location sensor components (e.g., a GPS receiver component), altitude sensor components (e.g.,Altimeters or barometers (which detect air pressure from which altitude can be derived), orientation sensor components (e.g., magnetometers), and the like.

[0082] Communication can be implemented using a wide variety of technologies. The I / O components 1050 can include communication components 1064, which can be operated to connect the machine 1000 to a network 1080 or devices 1070 via a coupling 1082 or a coupling 1072. For example, the communication components 1064 can include a network interface component or another suitable device for forming an interface with the network 1080. In other examples, the communication components 1064 can be wired communication components, wireless communication components, cellular communication components, near-field communication (NFC) components, or Bluetooth. ®-components (e.g. Bluetooth) ® Low Energy), Wi-Fi ® -components and other communication components to provide communication via other modalities. The devices 1070 can be another machine or any one of a wide variety of peripheral devices (e.g., a peripheral device connected via USB).

[0083] Furthermore, the communication components can detect 1064 identifiers or include components that are operable to detect identifiers. For example, the communication components can include 1064 radio frequency identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec Codes, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS 2D barcodes, and other optical codes), or acoustic detection components (e.g., microphones for identifying tagged audio signals).Furthermore, a variety of information can be derived via the communication components 1064, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi® signal triangulation, location via detection of an NFC beacon signal that can specify a concrete location, and so on.

[0084] The various memories (i.e., 1030, 1032, 1034 and / or the memory of the processor(s) 1010) and / or the memory unit 1036 can store one or more sets of instructions and data structures (e.g., software) embodied or utilized by one or more of the methods or functions described herein. These instructions (e.g., the instructions 1016), when executed by the processor(s) 1010, effect various operations for implementing the disclosed embodiments.

[0085] The terms “machine storage medium,” “device storage medium,” and “computer storage medium” used in this document have the same meaning and may be used interchangeably in this disclosure. These terms refer to one or more storage devices and / or media (e.g., a centralized or distributed database and / or associated caches and servers) that store executable instructions and / or data. The terms are thus to be understood as including, but not limited to, solid-state storage and optical and magnetic media, including storage within or outside of processors. Specific examples of machine storage media, computer storage media, and / or device storage media include non-volatile memory, such as semiconductor storage devices, e.g.,Erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGAs and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms "machine storage media," "computer storage media," and "device storage media" specifically exclude carrier waves, modulated data signals, and other such media, at least some of which are covered by the term "signal medium" discussed below.

[0086] In various exemplary embodiments, one or more parts of Network 1080 can be an ad-hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, the Internet, a part of the Internet, a part of the PSTN, a POTS (Plain Old Telephone Service) network, a cellular telephone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks. For example, Network 1080 or a part of Network 1080 can include a wireless or cellular network, and the coupling 1082 can be a CDMA (Code Division Multiple Access) link, a GSM (Global System for Mobile Communications) link, or another type of cellular or wireless coupling.In this example, coupling 1082 can implement any of a variety of data transfer technologies, such as Single Carrier Radio Transmission Technology (1xRTT), EVDO (Evolution Data Optimized) technology, GPRS (General Packet Radio Service) technology, EDGE (Enhanced Data Rates for GSM Evolution) technology, 3GPP (Third Generation Partnership Project) including 3G, fourth generation wireless networks (4G), Universal Mobile Telecommunications System (UMTS), High Speed ​​Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), LTE (Long Term Evolution) standard, other long-range protocols defined by various standardization organizations, or other data transmission technologies.

[0087] The instructions 1016 can be transmitted or received over the network 1080 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 1064) and using any of a number of known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)). Likewise, the instructions 1016 can be transmitted to or received from the devices 1070 via the coupling 1072 (e.g., a peer-to-peer coupling) using a transmission medium. The terms "transmission medium" and "signaling medium" have the same meaning and may be used interchangeably in this disclosure.The terms "transmission medium" and "signal medium" are to be understood as including any intangible medium capable of storing, encoding, or containing the instructions 1016 for execution by the machine 1000, and include digital or analog communication signals or other intangible media to enable communication by such software. Thus, the terms "transmission medium" and "signal medium" are intended to include any form of modulated data signal, carrier wave, and so forth. The term "modulated data signal" refers to a signal in which one or more of its properties have been set or modified in such a way as to encode information within the signal.

[0088] The terms “machine-readable medium,” “computer-readable medium,” and “device-readable medium” mean the same thing and may be used interchangeably in this disclosure. The terms are defined to include both machine storage media and transmission media. Thus, the terms encompass both storage devices / media and carrier waves / modulated data signals.

[0089] Even though some examples, such as those illustrated in the drawings, involve a specific sequence of operations, the sequence can be changed without deviating from the scope of this disclosure. For example, some of the illustrated operations can be performed in parallel or in a different sequence that does not substantially affect the functions described in the examples. In other examples, different components of an exemplary device or system implementing an exemplary method can perform functions essentially simultaneously or in a specific sequence.

[0090] The various features, steps, and procedures described in this document can be used independently or combined in various ways. All possible combinations and sub-combinations are said to fall within the scope of this disclosure. Furthermore, certain procedure or process blocks may be omitted in some implementations. QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited non-patent literature

[0000] San Francisco in particular from July 16, 2021 to July 18, 2021

[0030]

Claims

[1] Procedure, encompassing: Receiving an input that includes search criteria associated with a geographic region by a network page of a supply network platform; Identifying a large number of offers that match the search criteria; Identifying an initial subset of offers from the multitude of offers, each assigned to a specific location within a boundary assigned to the geographical region; Identifying a second subset of offers from the multitude of offers, each assigned to a specific location outside the boundary assigned to the geographic region; and Visually distinguishing the first subset of offers from the second subset of offers on a map-based graphical user interface (GUI) that displays the multitude of offers that match the search criteria. [2] The method of claim 1, further comprising: Displaying each of the first subset of offers on the map-based GUI using an initial set of markers corresponding to a first marker type; and Display each of the second subset of offers on the map-based GUI using a second set of markers corresponding to a second marker type. [3] Method according to claim 2, wherein each marker in the first set of markers and the second set of markers on the map-based GUI is placed at a point corresponding to the respective location of a respective offer associated with the marker. [4] Method according to claim 2, wherein the first marking method causes information associated with a given offer to be displayed on a corresponding marking, and wherein the second marking method prevents information for a given offer from being displayed. [5] The method of claim 4, further comprising: Obtaining information that is associated with an initial offer from the first subset of offers; Presenting the information in an initial marker of the first set of markers on the map-based GUI; and Presenting a second marker of the second set of markers simultaneously with presenting the first marker, excluding information associated with a second offer of the second subset of offers. [6] The method of claim 5, further comprising: Receiving an input to zoom the map-based GUI into a region associated with the second marker; and Zooming the map-based GUI into the region associated with the second marker, and causing the second marker to be assigned to the first marker type instead of the second marker type, in response to receiving the input. [7] Method according to claim 6, further comprising: Obtaining the information associated with the second offer; and Presenting the information associated with the second offer in the second marker, after the second marker has been assigned to the first marker type. [8] Method according to claim 1, further comprising: Obtaining ranking information for bids in the first subset of bids; Comparing the ranking information for the bids in the first subset of bids with a ranking criterion; and Visually distinguishing a first part of the first subset of offers from a second part of the first subset of offers on the map-based GUI in response to comparing the ranking information with the ranking criterion. [9] Method according to claim 8, wherein the first part of the first subset of offers comprises offers in the first subset of offers for which the ranking information satisfies the ranking criterion, and wherein the second part of the first subset of offers comprises offers in the first subset of offers for which the ranking information does not satisfy the ranking criterion. [10] The method of claim 9, further comprising: Displaying each of the first part of the first subset of offers on the map-based GUI using an initial set of markers corresponding to a first marker type; and Display each of the second part of the second subset of offers on the map-based GUI using a second set of markers corresponding to a second marker type. [11] The method of claim 9, further comprising: Determine whether the number of offers in the first part of the first subset of offers exceeds a threshold number; and Representing the first part and the second part of the first subset of offers using the same type of marking in response to determining that the number of offers in the first part exceeds the threshold number. [12] The method of claim 9, further comprising: Determine that a first number of offers in the first part exceeds a second number of offers in the second part by a threshold number; and Representing the first part and the second part of the first subset of offers using the same type of marking in response to determining that the first number of offers in the first part exceeds the second number of offers in the second part by the threshold number. [13] Method according to claim 1, further comprising: Receiving an input that includes a selection of a marker used to represent a single offer from the first subset of offers or the second subset of offers on the map-based GUI; and Modifying a display attribute of the tag to indicate that the tag was previously selected in response to receiving the input, which includes the selection of the tag used to represent the individual offer. [14] The method of claim 1, further comprising: Identifying a region of the map-based GUI that contains a group of offers assigned ranking information that do not meet a ranking criterion; and Displaying the group of offers on the map-based GUI using markers of a second type, while the first subset of offers is displayed using markers of a first type, in response to determining that the group of offers is associated with the ranking information that does not meet the ranking criterion. [15] Method according to claim 1, further comprising: Search for additional offers that match some of the search criteria and are assigned to specific locations beyond the region currently displayed on the map-based GUI; and Saving the additional offers as pre-retrieved offers. [16] Method according to claim 15, wherein the respective locations correspond to locations that are within a threshold distance to a boundary of the region. [17] The method of claim 16, further comprising: Receiving an input that directs the map-based GUI to display a new geographic region that is not currently shown in the map-based GUI; Identifying a subset of the pre-retrieved listings that correspond to one or more locations assigned to the new geographic region, without conducting a new search for listings in the new geographic region that match that subset of the search criteria; and Display of the new geographic region on the map-based GUI along with representations of the portion of the pre-retrieved offers. [18] Method according to claim 16, wherein the threshold distance is calculated on the basis of a user profile. [19] System, encompassing: one or more processors of a machine; and a memory that stores an instruction which, when executed by one or more processors, causes the machine to perform operations that include the following: Receiving an input that includes search criteria associated with a geographic region by a network page of a supply network platform; Identifying a large number of offers that match the search criteria; Identifying an initial subset of offers from the multitude of offers, each assigned to a specific location within a boundary assigned to the geographical region; Identifying a second subset of offers from the multitude of offers, each assigned to a specific location outside the boundary assigned to the geographic region; and Visually distinguishing the first subset of offers from the second subset of offers on a map-based graphical user interface (GUI) that displays the multitude of offers that match the search criteria. [20] Machine-readable storage device embodying instructions which, when executed by a machine, cause the machine to perform operations including: Receiving an input that includes search criteria associated with a geographic region by a network page of a supply network platform; Identifying a large number of offers that match the search criteria; Identifying an initial subset of offers from the multitude of offers, each assigned to a specific location within a boundary assigned to the geographical region; Identifying a second subset of offers from the multitude of offers, each assigned to a specific location outside the boundary assigned to the geographic region; and Visually distinguishing the first subset of offers from the second subset of offers on a map-based graphical user interface (GUI) that displays the multitude of offers that match the search criteria.