Inviting fellow traveler to view reservation
By enabling guests to access and manage reservations through graphical objects, the network site addresses centralized reservation control issues, enhancing efficiency and security while reducing resource consumption and miscommunication.
Patent Information
- Application Number
- JP2025064193
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-10
- Filing Date
- 2025-04-09
- Publication Date
- 2025-10-23
AI Technical Summary
Current reservation systems centralize access and control over reservation details with the primary booker, leading to inefficiencies, security risks, and limited guest access, resulting in increased customer service inquiries, miscommunication, and resource consumption.
A network site enables users to share access to reservation listings with guests by generating graphical objects that include selection criteria and visual attributes, allowing guests to directly access and manage their reservations securely.
This solution reduces computational resource consumption, enhances guest visibility and control, minimizes miscommunication, and streamlines reservation management, improving efficiency and reducing customer service burdens.
Smart Images

Figure 2025160910000001_ABST
Abstract
Description
[Technical Field]
[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application claims the benefit of priority to U.S. Provisional Patent Application No. 18 / 631,419, filed April 10, 2024, and U.S. Provisional Patent Application No. 18 / 631,433, filed April 10, 2024, the contents of which are incorporated herein in their entireties.
[0002] [Technical field] The present disclosure generally relates to improvements to dedicated machines that manage data processing and variations thereof, and to techniques by which such dedicated machines are improved over other dedicated machines for accessing property listing sites for reservations. Summary of the Invention [Problem to be solved by the invention]
[0003] Network site users can create content for viewing and interaction (e.g., reservations, registrations, subscriptions, viewing listings) by other network site users. Posted content may be updated, created, or deleted, and it may be computationally challenging for a network site to return useful search results to a network site user searching for content (e.g., reservation listings) with specified parameters (e.g., date, category, price, quantity). For example, when there are many users who post and update content and also many users who perform complex searches on posted content, computational delays due to query complexity may result in inaccurate results and consume significant computational resources (e.g., processing, memory, network overhead). Additional challenges exist when one user wishes to share an interest in a particular listing with another user. [Brief explanation of the drawings]
[0004] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0005] The various figures of the accompanying drawings merely depict exemplary embodiments of the present disclosure and are not to be considered as limiting its scope. [Figure 1] FIG. 1 is a block diagram illustrating a listing sharing system implemented in a networked environment, according to some examples. [Figure 2] 1 illustrates an example of a functional engine for a listing sharing system, according to some examples. [Figure 3] 1 illustrates a listing network site user interface generated by a listing network platform and a listing sharing system (or listing search system), according to some examples. [Figure 4] 1 illustrates, according to some examples, different groups of templates used by the listing sharing system. [Figure 5] 1 illustrates an exemplary user interface of a listing sharing system, according to some examples. [Figure 6] 1 illustrates an exemplary user interface of a listing sharing system, according to some examples. [Figure 7] 1 illustrates flow diagrams of various processes and methods for sharing access to listings on a listing network site, according to some examples. [Figure 8] 1 illustrates flow diagrams of various processes and methods for sharing access to listings on a listing network site, according to some examples. [Figure 9] 1 illustrates flow diagrams of various processes and methods for sharing access to listings on a listing network site, according to some examples. [Figure 10] FIG. 1 is a block diagram illustrating a software architecture used to implement the disclosed system, according to some examples. [Figure 11]In accordance with some examples, a machine is depicted as an exemplary computer system having instructions that cause the machine to implement the disclosed system. DETAILED DESCRIPTION OF THE INVENTION
[0006] This will be explained in detail below.
[0007] The following description includes systems, methods, techniques, instruction sequences, and computing machine program products that embody exemplary embodiments of the present disclosure. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the inventive subject matter. However, it will be apparent to those skilled in the art that embodiments of the inventive subject matter may be practiced without these specific details. In general, well-known instruction instances, protocols, structures, and techniques are not necessarily shown in detail.
[0008] Navigating the vast amount of content available on a network site can be very complex and time-consuming. Such navigation may require browsing multiple pages of information to find an appropriate result or action. To this end, a listing sharing system may be configured to efficiently share access to particular listings of interest among users. In the following description, exemplary posted content is accommodation listings (e.g., listings for booking) posted on a network site, although other types of network site content posted and shared by end users can similarly be implemented in the listing sharing system processes and methods, such as transportation, experiences, and / or events.
[0009] Generally, a listing platform can be searched for available result listings for a specified date range, price range, and / or other attributes (e.g., amenities, cancellation policies, etc.), which can be specified in a given query (e.g., text fields, drop-down menus, checkbox filters). To search and browse the listing platform, a user can access the listing platform over a particular user interface channel, such as by telephone or through an application associated with the listing platform. Once a user finds a listing for an accommodation (reservation) of interest, the user can request to reserve the accommodation. Sometimes, a reservation includes many other guests who may be staying at the same accommodation for the same reservation period. Informing the guest about the reservation details is usually complicated, time-consuming, and error-prone.
[0010] Specifically, typical systems allow specific users to make reservations. The user must individually compose messages directed to specific guests to inform the guests about the reservation details. Such messages are manually created and prone to human error. Furthermore, once a message is sent to a guest, the guest may have follow-up questions that further burden the user with having to generate an appropriate response. To mitigate these issues, users may share login credentials to a network site to allow guests to view reservation details. Sharing login credentials is prone to security breaches and can have undesirable consequences. There is no way for a user to securely share access to a reservation listing with selected guests and limit the access and modification rights that guests have when viewing the listing.
[0011] Current reservation systems often present technical challenges due to their design, which typically centralizes control and access to reservation details under the account of the individual who made the reservation. This can lead to a lack of direct access for additional guests, who must rely on the original reservation owner to receive information and updates. Such a setup limits guests' ability to independently modify their reservation, which can be particularly inconvenient if the original reservation owner is unreachable. Guests also face limited visibility into reservation details, such as room type, special requests, or reservation changes, which can cause problems, especially when guests arrive separately.
[0012] Reliance on the primary booker to manage the reservation process can create complications if they are unable to fulfill this role due to unforeseen circumstances. Privacy concerns also arise when sharing reservation details, as this involves sharing personal login credentials, potentially posing a security risk. Without individual access rights, the reservation system does not allow for personalization or special requests from other guests, and communications from the reservation system, including important notices and reminders, are typically sent only to the primary booker. For group travel, these limitations can lead to inefficiencies in planning and coordination, as only one person has access to the reservation details. In an emergency, if the primary booker is unable to communicate with the property or the reservation system, other guests may struggle to obtain necessary information or take action regarding the reservation.
[0013] The centralized nature of current reservation systems, in which only the first booker has access to reservation details, can lead to inefficient use of system resources in several ways. First, the lack of direct access for additional guests often results in an increased volume of customer service inquiries. Guests without access frequently contact customer support seeking information that they could easily obtain by directly accessing the reservation details, leading to higher call volumes and longer wait times for all customers seeking assistance. Second, the inability of guests to change or update reservations leads to a higher number of last-minute changes or cancellations. These changes often require manual intervention from a customer service representative, consuming more time and resources than if guests were able to self-manage their reservations. Furthermore, the first booker becomes a bottleneck in the propagation of information. They must manually forward all communications, such as confirmations and updates, to other guests. This not only increases the risk of miscommunication but also places an unnecessary burden on the first booker to act as an intermediary, which could be streamlined with a more comprehensive system.
[0014] To address these technical issues, the disclosed technology provides a network site that enables users to share access to a listing for a reservation with one or more guests in an efficient manner. That is, the network site can receive a request to make a reservation from a user. The network site determines that the reservation is associated with one or more guests, and in response to determining that the reservation is associated with one or more guests, presents a graphical object representing the reservation along with an option to invite the one or more guests to access some of the information associated with the reservation on the listing network platform. The network site transmits the graphical object to one or more devices associated with the one or more guests to enable the one or more guests to access some of the information associated with the reservation on the listing network platform.
[0015] In some examples, the network site receives input from an operator of the listings network platform defining visual attributes of each template of the plurality of templates and selection criteria associated with each template of the plurality of templates. The network site stores the plurality of templates, each associated with a different group of the set of groups, and each template of the plurality of templates includes visual information representing a location of the reservation on the listings network platform. The network site selects a distinct template of the plurality of templates based on information associated with the listing identifier and generates a graphical object to represent the reservation corresponding to the listing identifier using the selected distinct template.
[0016] In this way, the disclosed techniques reduce the amount of computational resources that need to be dedicated and consumed by the system for group travel reservations, thereby freeing up such resources for other tasks and meeting other demands.
[0017] 1, an example of a high-level client-server-based network architecture 100 is shown. A networked system 102, in the example form of a network-based listings service system, provides server-side functionality to one or more client devices 110 (e.g., also referred to as user systems or user devices) via a network 104 (e.g., the Internet or a wide area network (WAN)). In some embodiments, a user (e.g., user 106) interacts with the networked system 102 using a client device 110.
[0018] FIG. 1, for example, illustrates a web client 112 (e.g., a browser), a client application 114, and a programmatic client 116 executing on a client device 110. The client device 110 includes the web client 112, the client application 114, and / or the programmatic client 116, singly, together, or in any suitable combination. While FIG. 1 illustrates one client device 110, in other implementations, the network architecture 100 comprises multiple client devices. Depending on the situation, the client device 110 may be used by an operator or developer of the application 114 or by an end user of the application 114. For example, a developer of the application 114 may use the client device 110 to define visual attributes and selection criteria for generating postcard templates used to represent different listings. As another example, a user of the application 114 may access the listings network platform 142 to share a graphical object (e.g., a postcard generated according to a corresponding template) with one or more guests (e.g., one or more guests defined by the user as associated with the same reservation) who are traveling toward a destination with the user.
[0019] In various embodiments, client device 110 may include a computing device including at least a display and communications capabilities that provide access to networked system 102 via network 104. Client device 110 includes, but is not limited to, a remote device, a workstation, a computer, a general-purpose computer, an Internet appliance, a handheld device, a wireless device, a portable device, a wearable computer, a cellular or mobile phone, a personal digital assistant (PDA), a smartphone, a tablet, an ultrabook, a netbook, a laptop, a desktop, a multiprocessor system, a microprocessor-based or programmable consumer electronics, a game console, a set-top box (STB), a networked personal computer (PC), a minicomputer, etc. In one example, client device 110 includes one or more of a touchscreen, an accelerometer, a gyroscope, a biometric sensor, a camera, a microphone, a global positioning system (GPS) device, etc.
[0020] The client device 110 communicates with the network 104 via a wired or wireless connection. For example, one or more portions of the 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 WAN, a wireless WAN (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 the network 104 through a first user interaction channel, the client device 110 need only transmit audio or voice data to the network 104. When communicating with the network 104 through a second user interaction channel, the client device 110 may transmit data representing selections on a GUI, image content, and / or audio or voice data to the network 104.
[0021] In some examples, client device 110 includes one or more of the following applications (also referred to as "apps"), such as, but not limited to, a web browser, a book reader app (operable to read e-books), a media app (operable to present various forms of media including audio and video), a fitness app, a biometric app, a messaging app, an electronic mail (email) app, an e-commerce site app (also referred to as a "marketplace app"), and a booking application for temporary stays or experiences at hotels, motels, or residences managed by other end users (e.g., posting end users who own homes and rent out entire homes or private rooms). In some implementations, client application 114 includes various components operable to present information to a user and communicate with networked system 102. In some examples, if an e-commerce site application is included on client device 110, the application is configured to locally provide at least some of the functionality with the application configured to communicate with networked system 102 as needed for data or processing capabilities not available locally (e.g., accessing a database of items available for sale, authenticating a user, verifying a payment method). Conversely, if an e-commerce site application is not included on client device 110, client device 110 can use its web browser to access an e-commerce site (or a variant thereof) hosted on networked system 102.
[0022] Web clients 112 access various services and functions of networked system 102 through a web interface supported by web server 122. Similarly, programmatic clients 116 and client applications 114 access various services and functions provided by networked system 102 through a programmatic interface provided by application program interface (API) server 120.
[0023] A user (e.g., user 106) may include a person, an operator, a developer, a machine, a large-scale language model (LLM), a machine learning model, 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 another means. For example, user 106 provides input (e.g., touchscreen input or alphanumeric input) to client device 110, which is communicated to networked system 102 over network 104 by a second user interaction channel. In this example, networked system 102, in response to receiving the input from user 106, communicates information to be presented to user 106 to client device 110 over network 104. In this manner, user 106 can interact with networked system 102 using client device 110. As another example, user 106 provides input (eg, voice input) to client device 110, which is communicated over network 104 to network system 102 in the form of audio packets or audio data.
[0024] The API server 120 and the web server 122 are coupled to one or more application servers 140, which provide program interfaces and web interfaces, respectively. The application servers 140 may host a listing network platform 142 and a listing sharing system 150, each of which includes one or more modules or applications, each of which may be embodied as hardware, software, firmware, or any combination thereof. The application servers 140 are shown coupled to one or more database servers 124, which facilitate access to one or more information storage repositories or databases 126. In one example, the databases 126 are storage devices that store information (e.g., inventory, image data, catalog data, postcard templates, etc.) posted to the listing network platform 142. The database(s) 126 also store digital product information, according to some examples.
[0025] Additionally, the social network platform 131 is shown as executing on a third-party server 130. Furthermore, the social network platform 131 can programmatically access the networked system 102 through a programmatic interface provided by the API server 120. The social network platform 131 may include a social network website, a messaging platform, and one or more APIs. In some examples, the electronic messages described below are messages (e.g., social media chat messages, posts, pings ("hello" notifications), etc.) sent to a given user via the social network platform 131 messaging system.
[0026] The listings network platform 142 provides a number of publishing functions and listing services to users accessing the networked system 102. While the listings network platform 142 is shown in Figure 1 as forming part of the networked system 102, it will be appreciated that in alternative examples, the listings network platform 142 may form part of a web service that is separate and distinct from the networked system 102.
[0027] 1 employs a client-server architecture, the disclosed technology is not limited to such an architecture and may equally be implemented in, for example, a distributed or peer-to-peer architecture system. Various systems of application server 140 (e.g., listings network platform 142 and listings sharing system 150) may also be implemented as standalone software programs that do not necessarily have networking capabilities.
[0028] The listing network platform 142 may be hosted on dedicated or shared server machines communicatively coupled to enable communication between the server machines. The components themselves are communicatively coupled to each other and to various data sources (e.g., via appropriate interfaces) so that information can be passed between applications or so that applications can share and access common data. Additionally, the components access one or more databases 126 via a database server 124. The listing network platform 142 provides several publishing and listing mechanisms whereby sellers (also referred to as “first users,” posting users, or hosts) may list (or publish information about) goods or services for sale or barter, buyers (also referred to as “second users,” search users, or guests) may express interest in or indicate a willingness to purchase or barter such goods or services, and transactions (such as trades) involving the goods or services may be completed.
[0029] 2 illustrates an exemplary functional engine of a listing sharing system 150 according to some examples. As shown, the listing sharing system 150 includes a graphical object generation component 220, a listing network platform 142, a booking component 240 (e.g., a booking management and / or generation component), and a sharing component 260. In some examples, the graphical object generation component 220 allows a developer or operator to define visual attributes and selection criteria for various templates. The templates may be used to generate graphical objects or postcards to represent individual bookings, listings, and / or accommodations.
[0030] 3. The graphical user interface 300 may be presented on a client device 110 of a developer, designer, or operator of the listing sharing system 150. The graphical user interface 300 may include an artwork selection area 310, a status area 315, a preview area 360, a name area 320, a text parameter area 330, a visual information area 340, and / or a destination tag area 350.
[0031] In some examples, the graphical user interface 300 receives input selecting the artwork selection area 310. In response, a list of previously defined templates may be presented. The graphical user interface 300 may receive input selecting a particular template from the list of previously defined templates. In such a case, the graphical user interface 300 retrieves the visual attributes and selection criteria associated with the selected template and populates all fields of the various areas shown in the graphical user interface 300 with the previously defined information. The graphical user interface 300 may receive input modifying or adjusting any one of the presented fields to update parameters associated with the selected template.
[0032] In some examples, a new template may be defined. In such cases, the graphical user interface 300 may receive input to select a new template indicator from a presented list based on a selection in the artwork selection area 310. In such cases, a generic template may be presented in the preview area 360, and all other fields shown in the graphical user interface 300 may be blank. The graphical user interface 300 may receive input to select or tap the preview area 360. The graphical user interface 300 may present a window that allows the user to upload new artwork or a new image to associate with the new template. In some cases, rather than uploading new artwork, the graphical user interface 300 may allow the user to specify a remote storage location on a third-party server that hosts various images to associate with the new template.
[0033] The status area 315 may be updated to indicate whether the current template is active and available for use by the graphical object generation component 220 to represent various listings, or whether it is in the draft phase. While in the draft phase, the template identified by the artwork selection area 310 is prevented from being used to generate graphical objects to represent listings. The graphical user interface 300 may receive input selecting the name area 320. In response, the graphical user interface 300 may receive input specifying a name or other identifier for the new template being defined.
[0034] The selection information or criteria can be defined for the new template in many ways. In some cases, the selection information can include identification of a particular listing identifier. For example, the graphical user interface 300 can receive input specifying a unique identifier or reference to one or more listings available on the listing network platform 142. In response, the graphical object generation component 220 associates the unique identifier with the new template corresponding to the name provided in the name field 320.
[0035] For example, the graphical user interface 300 may receive input specifying a city name, a state name, a POI name, etc. In response, the graphical object generation component 220 associates the city name, state name, and / or POI name with a new template corresponding to the name provided in the name area 320. A save option may be selected from the graphical user interface 300 to save the new template to the listing network platform 142. Once the new template is saved, the new template may be added to the list of templates presented in the artwork selection area 310 using the previously specified name or identifier provided in the name area 320.
[0036] In some examples, the graphical user interface 300 receives input selecting the text parameter region 330. In response, the graphical object generation component 220 receives input defining the appearance and visual attributes of the text to be added to the image shown in the preview region 360. For example, the appearance and visual attributes may include font size, font style, font alignment, font color, font animation, etc. The preview region 360 may show an example font overlaid on the image according to the visual attributes and appearance defined by the text parameter region 330.
[0037] In some examples, the graphical user interface 300 receives input selecting the visual information region 340. In response, the graphical object generation component 220 receives input defining the appearance and visual attributes of backgrounds, buttons, icons, primary text, etc. to be added to the image shown in the preview region 360. The preview region 360 can show exemplary backgrounds and icons overlaid on the image according to the visual attributes and appearance defined by the visual information region 340.
[0038] In some examples, the graphical user interface 300 receives input specifying one or more destination tags in the destination tag region 350. For example, the graphical user interface 300 may receive a selection of an option to automatically fill the destination tag region 350. In response, the graphical user interface 300 may receive input specifying a latitude / longitude, GPS coordinates, city name, state name, POI name, etc. associated with the new template. The graphical object generation component 220 may receive input from the graphical user interface 300 and generate a prompt including the specified latitude / longitude, GPS coordinates, city name, state name, and / or POI name along with a request to generate a list of destination tags including climate tags, geographic tags, population tags, density tags, cultural tags, etc.
[0039] The graphical object generation component 220 provides the prompt to the LLM. The LLM processes the prompt and automatically generates a list of requested tags associated with latitude / longitude, GPS coordinates, city names, state names, and / or POI names. The graphical object generation component 220 updates the destination tag area 350 with the automatically generated information. The graphical user interface 300 can then receive input from an operator or designer to deselect one or more destination tags (or classification tags) and / or select new destination tags to associate with the new template. The information provided in the destination tag area 350 defines the classification information for the template. Each template selected by the artwork selection area 310 can include its own set of classification information. Some templates may exclude classification information entirely. The classification information is sometimes referred to as a knowledge graph associated with the various templates and / or destination tags.
[0040] A save option can be selected from the graphical user interface 300 to save the new template to the listing network platform 142. Once the new template is saved, the new template may be added to the list of templates presented in the artwork selection area 310 using a previously specified name or identifier provided in the name area 320. For example, as shown in the list of templates 400 of FIG. 4, the new template may be added to a particular group of templates stored by the listing network platform 142. For example, the list of templates 400 may include a first group of templates 410, a second group of templates 420, a third group of templates 430, and a fourth group of templates 440.
[0041] In some examples, the first template group 410 includes templates associated with specific listing identifiers. For example, the first template group 410 includes a first template 412 associated with a first set of listing identifiers and a second template 414 associated with a second set of listing identifiers. The second template group 420 (e.g., taxonomy-tagged templates) includes a first template 422 associated with a first set of destination (or taxonomy) tags (e.g., classification information including specific geographic, density, and / or climate tags) and a second template 424 associated with a second set of destination (or taxonomy) tags (e.g., classification information including specific geographic, density, and / or climate tags). Templates added to the second template group 420 can exclude listing identifiers. Templates added to the first template group 410 may or may not include destination tags. The third template group 430 includes a first template 432 associated with a first set of location identifiers (e.g., latitude / longitude, GPS coordinates, city name, state name, POI name) and a second template 424 associated with a second set of location identifiers (e.g., latitude / longitude, GPS coordinates, city name, state name, POI name). Templates added to the third template group 430 can exclude location identifiers. Templates added to the first template group 410 may or may not include location identifiers. The fourth template group 440 is generic or default and can include a set of templates that exclude any one of location identifiers, listing identifiers, and / or classification information.
[0042] As an example, the graphical object generation component 220 receives input selecting a save option for a new template. In response, the graphical object generation component 220 can determine whether a listing identifier is associated with the new template (e.g., whether the user provided a listing identifier in the graphical user interface 300). If so, the graphical object generation component 220 adds the new template to the first template group 410. If not, the graphical object generation component 220 adds the new template to the second template group 420. In some cases, the graphical object generation component 220 determines whether a location identifier was provided in the graphical user interface 300 for the new template. If so, the graphical object generation component 220 adds the new template to the third template group 430 instead of or in addition to the second template group 420. In some cases, if the graphical object generation component 220 determines that the new template is not associated with a location identifier or a listing identifier and / or excludes classification information, the graphical object generation component 220 adds the new template to the fourth template group 440.
[0043] In some examples, the graphical object generation component 220 generates a graphical object (e.g., a postcard) representing an individual listing to be shared with one or more guests based on the list in the template 400. In some cases, the graphical object generation component 220 generates the graphical object in real time in response to receiving input selecting an option to share the listing with one or more guests. In some examples, the graphical object generation component 220 pre-generates the graphical object in a background process when the accommodation listing is created by the host or at some point after the listing is created but before the listing is selected by an end user to generate a reservation.
[0044] To generate the graphical object, the graphical object generation component 220 retrieves a selected listing. The selected listing may be randomly selected from a set of listings, selected based on the host's creation date of the listing, and / or provided by an end user's client device 110 in response to the client device 110 receiving input selecting an option to book accommodations and / or share the listing with one or more guests. The graphical object generation component 220 processes information associated with the selected listing to identify and select one of the templates from the list of templates 400. For example, the graphical object generation component 220 may determine that the listing's information includes a listing identifier. The graphical object generation component 220 may search the first template group 410 to determine whether the listing identifier of the listing matches any listing identifiers associated with the first template group 410. In response to determining that the listing identifier matches a listing identifier associated with an individual template in the first template group 410, the graphical object generation component 220 retrieves the individual template from the first template group 410. The graphical object generation component 220 can then add a set of details corresponding to the selected listing (e.g., host name, reservation date, guest name, guest identifier, number of guests, etc.) to the individual template. The graphical object generation component 220 arranges or overlays the set of details according to visual attributes defined for the individual template.
[0045] In some cases, the graphical object generation component 220 determines that the listing identifier does not match any of the listing identifiers associated with the first template group 410. In response, the graphical object generation component 220 determines whether the location identifier (e.g., city name, state name, POI name, GPS coordinates, etc.) associated with the selected listing matches any location identifier in the third template group 430. In response to determining that the location identifier matches a location identifier associated with an individual template in the third template group 430, the graphical object generation component 220 retrieves the individual template from the third template group 430. The graphical object generation component 220 can then add a set of details corresponding to the selected listing (e.g., host name, reservation date, guest name, guest identifier, number of guests, etc.) to the individual template. The graphical object generation component 220 arranges or overlays the set of details according to visual attributes defined for the individual template. If multiple templates in the third template group 430 include a location identifier that matches the location identifier of the selected listing, the graphical object generation component 220 randomly selects one of the templates with the matching location identifier as the individual template, or selects the template with the location attribute that best matches the location identifier of the selected listing.
[0046] In some cases, the graphical object generation component 220 determines that the location identifier does not match any of the location identifiers associated with the third template group 430. In response, the graphical object generation component 220 determines whether the classification information (e.g., destination tags) associated with the selected listing matches any of the classification information in the second template group 420. The graphical object generation component 220 obtains or generates (e.g., using an LLM prompt and an LLM engine) a set of destination tags for the selected listing. The graphical object generation component 220 compares the set of destination tags of the selected listing with the destination tags stored for each template in the second template group 420. The graphical object generation component 220 then selects the best matching template from the second template group 420. For example, the graphical object generation component 220 identifies the individual template with the largest amount of destination tags that match the destination tags of the selected listing. That is, the graphical object generation component 220 may determine that the classification information (e.g., destination tags) associated with the listing matches a first number (or amount) of destination tags corresponding to the classification information of a first template in the third template group 430. The graphical object generation component 220 may determine that the classification information (e.g., destination tags) associated with the listing matches a second number (or amount) of destination tags corresponding to the classification information of a second template in the third template group 430. In response to determining that the second number of tags is greater than the first number of tags, the graphical object generation component 220 selects the second template as the individual template of the third template group having classification information that matches the classification information associated with the listing.
[0047] The graphical object generation component 220 can then add a set of details corresponding to the selected listing (e.g., host name, reservation date, guest name, guest identifier, number of guests, etc.) to the individual template selected from the third template group 430. The graphical object generation component 220 arranges or overlays the set of details according to visual attributes defined for the individual template. In some cases, the graphical object generation component 220 determines that the information associated with the selected listing does not match the information associated with the first template group 410, the second template group 420, and the third template group 430. In such cases, the graphical object generation component 220 selects a random template from the fourth template group 440 as the individual template.
[0048] In some examples, an end user may wish to perform some action on the listings network platform 142. For example, the user may wish to search for listings for reservations, modify one or more reservations held by the listings network platform 142, list a reservation on the listings network platform 142, communicate with a host of a listing on the listings network platform 142, request a refund for a reservation on the listings network platform 142, pay for a service on the listings network platform 142, and / or perform any other available function on the listings network platform 142.
[0049] In such cases, a user can initiate contact with the listing network platform 142 through any number of user interaction channels. For example, a user can establish a first user interaction channel with the listing network platform 142 by using the client device 110 to call a service telephone number associated with the listing network platform 142. In response to receiving the telephone call, the listing network platform 142 can search a database that associates the telephone number of the client device 110 with the user's account on the listing network platform 142. As another example, a user can initiate contact with the listing network platform 142 by accessing a GUI associated with the listing network platform 142. Through the GUI, a user can enter search criteria by typing characters of a string used to search for listings on the listing network platform 142. In some examples, the search criteria are provided or transmitted from the client device 110 to the graphical object generation component 220.
[0050] The booking component 240 can process search criteria and perform a search of listing information stored in the listing network platform 142 to identify multiple listings that match 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 the number of adults (guests), the number of children and / or their respective ages, minimum and / or maximum length of stay, etc.
[0051] In some examples, the reservation component 240 can continuously monitor characters being typed into the GUI of the client device 110. The reservation component 240 can continuously search a list of POIs based on one or more partially complete words of the search criteria as the search criteria are entered. The reservation component 240 can search for different types of POIs and organize them into windows for presentation to the user of the client device 110. In this manner, as the user types characters of the search criteria, preliminary results are presented to the user, allowing the user to auto-complete the search criteria. For example, if the user is typing the word "pari," the reservation component 240 can initiate a POI search and identify multiple POIs associated with portions of the incomplete words typed in "pari" that correspond to the complete word "Paris."
[0052] The booking component 240 can also present a search results area within the GUI. The search results area can present a list of graphical objects (e.g., thumbnails) each associated with a respective one of the identified listings. The graphical objects can include detailed information about each listing that matches the search criteria, such as an image, video, description, etc.
[0053] Additionally, a user can select dates using a date drop-down element to select a specific date range for a temporary stay at the accommodation associated with the booking listing. For example, a user can select the date drop-down element, and a pop-up calendar appears that allows the user to specify that a San Francisco stay is specifically from July 16 to July 18. Submitting a query sends a communication from the programmatic client 116 to the listing sharing system 150. The listing sharing system 150 generates an output including a result display of listings (e.g., graphical objects) that match the query and sends the output to the programmatic client 116. The user can then select a graphical object for a listing or navigate to additional pages via page navigation elements.
[0054] The reservation component 240 receives input from the client device 110 selecting an accommodation or an individual listing for a particular reservation at the accommodation. In response, the reservation component 240 presents a page containing various attributes and details about the accommodation, including information about the accommodation's host, rules and restrictions, photos and videos of the accommodation, and various other information. The page may include an action to request that the user book the accommodation associated with the listing. In response, the reservation component 240 presents a window or new page that allows the user to enter various personal information. The window or new page also includes fields that the user can use to enter identification of the number or quantity of co-travelers or guests who will be traveling with the user as a group to stay at the accommodation. In some cases, the reservation component 240 can receive input specifying contact information (e.g., email and / or phone number) for each guest identified as a co-traveler. In some cases, the reservation component 240 can receive input identifying a group of travelers by selecting a group identifier. In such cases, the reservation component 240 automatically retrieves the names and contact information of each user previously included in and defined by the group identifier.
[0055] In response to the reservation component 240 determining one or more guests (co-travelers), the reservation component 240 communicates an identifier of the listing associated with the reservation as the selected listing to the graphical object generation component 220. The graphical object generation component 220 then generates a postcard or graphical object for the listing using the list of templates 400. The graphical object generation component 220 provides the graphical object to the reservation component 240. The reservation component 240 then presents the graphical object in an end user's graphical user interface on the client device 110. For example, as shown in FIG. 5, a set of user interfaces 500 may be presented to the user of the client device 110.
[0056] The set of user interfaces 500 includes a first user interface 510 that includes a graphical object 512. The graphical object 512 may correspond to a postcard generated by the graphical object generation component 220. The graphical object 512 may include a back portion (shown in the first user interface 510) and a front portion 534 shown in the third user interface 530. The back portion of the graphical object 512 may include various details about the reservation, such as the number of travelers, travel dates, the type of accommodation, one or more photos of the accommodation or a video of the accommodation, and other suitable information obtained from the listing. The first user interface 510 may receive an input tapping the graphical object 512, and in response, the reservation component 240 switches between presenting the back portion and the front portion 534. The front portion 534 may include an image or video corresponding to the destination and the name of the city, state, and / or POI corresponding to the destination. In some cases, the name of the city, state, and / or POI corresponding to the destination is presented in the native language associated with the user's and / or guest's account. In some cases, an animation may be presented that rotates the graphical object 512 from one side to the other along a vertical axis in the process of transitioning between the back and front portions, with the intermediate portion of this animation shown in the second user interface 520.
[0057] The third user interface 530 may present a share trip details option 532. Selecting the share trip details option 532 may launch the share component 260. The share component 260 may generate a unique reference or link for the shared listing that includes a string of random characters. The share component 260 may store the link in association with the listing and the graphical object 512.
[0058] In some cases, selection of the share trip details option 532 may present a back portion 540 of the graphical object 512. In response to selection of the share trip details option 532, the sharing component 260 may present a window 550 for selecting one or more recipients. The window 550 may receive input from the user specifying contact information (e.g., email addresses, phone numbers, etc.) for one or more guests included in the reservation. In some cases, the window 550 restricts the user from adding contact information for more recipients than the total number of guests specified in the reservation details. For example, if a user books an accommodation with three additional guests, the sharing component 260 restricts the user from specifying or providing contact information for more than three co-travelers or guests.
[0059] In some cases, the sharing component 260 sends a message 560 to each of the guests through the contact information provided by the user. The message 560 may include a graphical object 512 and a secure link. As shown in FIG. 6 , the graphical object 512 may be presented to the guest as a message on a user interface 610 of the corresponding client device 110. The user interface 610 may receive input from the guest selecting the graphical object 512. In response, the sharing component 260 determines whether the guest has an account with the listing network platform 142. If so, the sharing component 260 launches the application(s) 114 of the listing network platform 142 on the guest's client device 110 and presents a user interface 620 for the guest to join the trip. In response to determining that the guest does not have an account with the listing network platform 142, the sharing component 260 provides the guest with an option to download and install the application 114 and create an account with the listing network platform 142.
[0060] The application 114 presents a user interface 620 that includes a front portion 622 of the graphical object 512. The user interface 620 may receive input from a guest tapping on the front portion 622. In response, the user interface 620 animates the front portion 622 by rotating it about a vertical (or horizontal) axis to present a back portion 630. The user interface 620 may present travel joining options 626 and identifiers 624 for guests associated with the same reservation or listing. The identifiers 624 may include an avatar, name, or other visual representation of each guest designated by the user who booked the accommodation associated with the listing.
[0061] In response to receiving input from the guest selecting the join trip option 626, the sharing component 260 adds the guest's username to a list of active users associated with the listing. Specifically, the sharing component 260 accesses the link associated with the graphical object 512 to determine whether the username corresponding to the guest is authorized to be added to the list of guests associated with the listing. The sharing component 260 determines whether the link is currently active or expired. In response to determining that the link is currently active, the sharing component 260 allows the user to be added to the list of users associated with the listing. If the link is revoked, the sharing component 260 prevents the user from being added to the listing. After adding the user to the list of users associated with the listing, the sharing component 260 presents a user interface 640 that welcomes the user to the listing and indicates to the user where to go based on the location associated with the shared listing. In some cases, the sharing component 260 presents a user interface that includes a map of the accommodation and allows the guest to select a specific room within the accommodation. The sharing component 260 can then reserve the room by assigning the guest's name to the room and can restrict other guests from selecting the same room within the property.
[0062] In some examples, the link may be manually disabled by the user who booked the listing. In some cases, the link may be automatically disabled upon or after a specified period of time has elapsed from the end date or check-out date associated with the reservation included in the listing item details. In some cases, the link may be automatically revoked in response to determining that the accommodation for the listing has been canceled. The user who created or made the reservation may specify access rights for each guest, including information available to the guest. For example, a guest may be enabled to view and / or access one or more messages exchanged between the accommodation guest and the host. In some cases, a guest may be authorized to communicate directly with the host after the guest is added to the reservation. In some cases, a guest may be able to view feedback or reviews provided by the guest regarding the accommodation listing. In some cases, a host may provide feedback or reviews to the user who booked the accommodation listing, as well as to any users or guests invited to, participating in, or associated with the accommodation listing.
[0063] 7-9 illustrate flow diagrams of various processes and methods for sharing access to listings on a listing network site, according to some examples.
[0064] 7 illustrates a flow diagram of various processes and methods 700 for sharing access to listings on a listing network site, according to some examples. These processes and methods 700 may be implemented by any of the components discussed above or below (e.g., listing sharing system 150).
[0065] In operation 705, the listing sharing system 150 receives a request from a user to make a reservation, as described above.
[0066] In operation 710, the listing sharing system 150 determines that the reservation is associated with one or more guests, as described above.
[0067] At operation 715, in response to determining that the reservation is associated with one or more guests, the listing sharing system 150 presents a graphical object representing the reservation along with an option to invite the one or more guests to access some of the information associated with the reservation on the listing network platform, as described above.
[0068] At operation 720, the listing sharing system 150 transmits a graphical object to one or more devices associated with the one or more guests to enable the one or more guests to access some of the information associated with the reservation on the listing network platform, as described above.
[0069] 8 illustrates a flow diagram of various processes and methods 800 for sharing access to listings on a listing network site, according to some examples. These processes and methods 800 may be implemented by any of the components discussed above or below (e.g., listing sharing system 150).
[0070] In operation 805, the listing sharing system 150 receives input from an operator of the listing network platform defining the visual attributes of each template of the plurality of templates and the selection criteria associated with each template of the plurality of templates, as described above.
[0071] At operation 810, the listing sharing system 150 stores a plurality of templates each associated with a different group of the set of groups, each template of the plurality of templates comprising visual information representing the location of the reservation on the listing network platform, as described above.
[0072] At operation 815, the listing sharing system 150 selects a respective template from the plurality of templates based on information associated with the listing identifier, as described above.
[0073] In operation 820, the listing sharing system 150 generates a graphical object to represent the reservation corresponding to the listing identifier using the selected individual template, as described above.
[0074] FIG. 9 illustrates a flow diagram of various processes and methods 900 for sharing access to listings on a listing network site, according to some examples. These processes and methods 900 may be implemented by any component (e.g., listing sharing system 150) discussed above or below. Specifically, as described in process or method 900, listing sharing system 150 may match templates to listings in a specified order, where a template matches a listing if the template first has a matching listing identifier. Otherwise, listing sharing system 150 may match templates to listings based on the reservation's destination (e.g., city information). If no matching destination is found, listing sharing system 150 matches templates to listings based on classification tags for the reservation's destination. If no matching set of classification tags is found, listing sharing system 150 returns a default template. In some cases, templates may be assigned to a particular user. In such a case, if a particular user is making a reservation, a template specific and particular to that user is returned in any suitable portion of process or method 900.
[0075] In operation 905, the listing sharing system 150 retrieves the listing identifier of the first template group based on the listing identifier of the reservation, as described above.
[0076] At operation 910, the listing sharing system 150 determines whether the listing identifier is found in the listing identifiers of the first template group, as discussed above. For example, if the listing sharing system 150 determines that the listing identifier matches the listing identifier of a template in the first template group, the listing sharing system 150 performs operation 915 to select a template having the matching listing identifier. In response to determining that none of the templates have a listing identifier that matches the listing identifier of the selected listing, the listing sharing system 150 performs operation 920.
[0077] At operation 920, the listing sharing system 150 determines whether the city tag (a location identifier, such as a city name, state name, POI name, GPS information, etc.) matches a location identifier of a second template group, as described above. For example, if the listing sharing system 150 determines that the location identifier matches a location identifier of a template in the second template group, the listing sharing system 150 performs operation 930 to select a template having the matching location identifier. In response to determining that there is no template having a location identifier that matches the location identifier of the selected listing, the listing sharing system 150 performs operation 935.
[0078] At operation 935, the listing sharing system 150 compares the classification information of the listing with the classification information associated with the templates in the third template group, as described above. For example, if the listing sharing system 150 determines that the classification information of the listing best matches the classification information of a template in the third template group, the listing sharing system 150 performs operation 940 to select a template having matching classification information. In response to determining that there are no templates having classification information that matches the classification information of the selected listing, the listing sharing system 150 performs operation 945.
[0079] At operation 945, the listing sharing system 150 randomly selects a template from the fourth group of default templates, as described above. The template selected from operations 915, 930, 940, and / or 945 may then be used to generate a graphical object representing the booking listing.
[0080] FIG. 10 is a block diagram 1000 illustrating the architecture of software 1002 that may be installed on any one or more of the devices described above. It will be appreciated that FIG. 10 is merely a non-limiting example of a software architecture and that many other architectures may be implemented to facilitate the functionality described herein. In various embodiments, the software 1002 is implemented by hardware, such as machine 1100 of FIG. 11, which includes a processor 1110, memory 1130, and input / output (I / O) components 1150. In this exemplary architecture, the software 1002 may be conceptualized as a stack of layers, with each layer capable of providing a specific function. For example, the software 1002 includes layers such as an operating system 1004, a library 1006, a framework 1008, and an application 1010. In operation, the application 1010 invokes an API call 1012 through the software stack and receives a message 1014 in response to the API call 1012, according to some embodiments.
[0081] In various embodiments, the operating system 1004 manages hardware resources and provides common services. The operating system 1004 includes, for example, a kernel 1020, services 1022, and drivers 1024. The kernel 1020, according to some embodiments, serves as an abstraction layer between the hardware and other software layers. For example, the kernel 1020 provides memory management, processor management (e.g., scheduling), component management, networking, and security configuration, among other functions. The services 1022 may provide other common services to other software layers. The drivers 1024, according to some embodiments, are responsible for controlling or interfacing with the underlying hardware. For example, the drivers 1024 may include a display driver, a camera driver, a BLUETOOTH® or BLUETOOTH® Low Energy driver, a flash memory driver, a serial communications driver (e.g., a Universal Serial Bus (USB) driver), a Wi-Fi® driver, an audio driver, a power management driver, etc.
[0082] In some embodiments, libraries 1006 provide low-level common infrastructure utilized by applications 1010. Libraries 1006 may include system libraries 1030 (e.g., standard C libraries) that may provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. Additionally, libraries 1006 may include API libraries 1032 such as a media library (e.g., a library for supporting the presentation and manipulation of various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG), or Portable Network Graphics (JPG)), a graphics library (e.g., an OpenGL framework used for rendering graphical content on a display in two dimensions (2D) and three dimensions (3D)), a database library (e.g., SQLite, which provides various relational database functions), and a web library (e.g., WebKit, which provides web browsing functions). The library 1006 may also include a wide variety of other libraries 1034 to provide many other APIs to the application 1010 .
[0083] Framework 1008, according to some embodiments, provides a high-level common infrastructure that can be utilized by applications 1010. For example, framework 1008 provides various graphic user interface (GUI) functionality, high-level resource management, high-level location services, etc. Framework 1008 can provide a wide range of other APIs that can be utilized by applications 1010, some of which may be specific to particular operating systems or platforms.
[0084] In an exemplary embodiment, the applications 1010 include a wide combination of other applications, such as a home application 1050, a contacts application 1052, a browser application 1054, a book reader application 1056, a location application 1058, a media application 1060, a messaging application 1062, a game application 1064, and third-party applications 1066. According to some embodiments, the applications 1010 are programs that perform functions defined within the program. One or more of the applications 1010 may be structured in a variety of ways and may be created using a variety of programming languages, such as object-oriented programming languages (e.g., Objective-C, Java, or C++) or procedural programming languages (e.g., C or assembly language). In a particular example, the third-party applications 1066 (e.g., applications developed using the ANDROID® or IOS® Software Development Kit (SDK) by an entity other than the vendor of a particular platform) may be mobile software that runs on a mobile operating system, such as IOS®, ANDROID®, WINDOWS® Phone, or another mobile operating system. In this example, the third-party application 1066 can invoke API calls 1012 provided by the operating system 1004 to facilitate the functionality described herein.
[0085] FIG. 11 illustrates a schematic diagram of a machine 1100 in the form of a computer system on which a set of instructions may be executed to cause the machine to perform any one or more of the methodologies described herein, according to an exemplary embodiment. Specifically, FIG. 11 illustrates a schematic diagram of a machine 1100 in the form of an exemplary computer system on which instructions 1116 (e.g., software, programs, applications, applets, apps, or other executable code) may be executed to cause the machine 1100 to perform any one or more of the methodologies described herein. The instructions 1116 transform a general, unprogrammed machine 1100 into a specific machine 1100 programmed to perform the described and illustrated functions in the described manner. In alternative embodiments, the machine 1100 operates as a standalone device or may be coupled to other machines (e.g., networked). In a networked deployment, the machine 1100 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1100 may include, but is not limited to, a server computer, a client computer, a PC, a tablet computer, a laptop computer, a netbook, an STB, a PDA, an entertainment media system, a mobile phone, a smartphone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart device, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing, sequentially or otherwise, instructions 1116 that specify actions to be taken by the machine 1100. Furthermore, although only a single machine 1100 is shown, the term "machine" should also be taken to include a collection of machines 1100 that individually or jointly execute instructions 1116 to perform any one or more of the methodologies described herein.
[0086] Machine 1100 may include processor 1110, memory 1130, and I / O components 1150, which may be configured to communicate with each other, such as via bus 1102. In an exemplary embodiment, processor 1110 (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) may include, for example, processor 1112 and processor 1114, which may execute instructions 1116. The term “processor” is intended to include multi-core processors, which may include two or more independent processors (sometimes referred to as “cores”) that can execute instructions simultaneously. While FIG. 11 shows multiple processors 1110, machine 1100 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.
[0087] Memory 1130 may include a main memory 1132, a static memory 1134, and a storage unit 1136, all of which are accessible to processor 1110, such as via bus 1102. Main memory 1132, static memory 1134, and storage unit 1136 store instructions 1116 that implement any one or more of the methods or functions described herein. The instructions 1116 may reside, completely or partially, in main memory 1132, static memory 1134, storage unit 1136, within at least one of processors 1110 (e.g., within a processor's cache memory), or any suitable combination thereof, during their execution by machine 1100.
[0088] I / O components 1150 may include a wide variety of components for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurements, etc. The specific I / O components 1150 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone will likely include a touch input device or other such input mechanism, while a headless server machine will likely not include such a touch input device. It will be understood that I / O components 1150 may include many other components not shown in FIG. 11 . I / O components 1150 are grouped according to function merely to simplify the following description, and this grouping is in no way limiting. In various exemplary embodiments, I / O components 1150 may include output components 1152 and input components 1154. Output components 1152 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., speakers), haptic components (e.g., vibration motors, resistive mechanisms), other signal generators, etc. Input components 1154 may include alphanumeric input components (e.g., a keyboard, a touchscreen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input component), point-based input components (e.g., a mouse, touchpad, trackball, joystick, motion sensor, or another pointing device), tactile input components (e.g., physical buttons, a touchscreen that provides the location and / or force of a touch or touch gesture, or other tactile input component), audio input components (e.g., a microphone), etc.
[0089] In further exemplary embodiments, I / O component 1150 may include a biometric component 1156, a motion component 1158, an environmental component 1160, or a position component 1162, among a wide range of other components. For example, biometric component 1156 may include components for detecting facial expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice identification, retinal identification, face identification, fingerprint identification, or brainwave-based identification), etc. Motion component 1158 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc. The environmental components 1160 may include, for example, an illuminance sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects concentrations of harmful gases or measures pollutants in the air for safety purposes), or other components that may provide indications, measurements, or signals corresponding to the surrounding physical environment. The position component 1162 may include a location sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or barometer that detects air pressure from which altitude can be derived), an orientation sensor component (e.g., a magnetometer), etc.
[0090] Communication may be implemented using a wide variety of technologies. I / O component 1150 may include a communication component 1164 operable to couple machine 1100 to network 1180 or device 1170 via coupling 1182 and coupling 1172, respectively. For example, communication component 1164 may include a network interface component or another suitable device for interfacing with network 1180. In further examples, communication component 1164 may include a wired communication component, a wireless communication component, a cellular communication component, a near-field communication (NFC) component, a Bluetooth® component (e.g., Bluetooth® Low Energy), a Wi-Fi® component, and other communication components for providing communication via other modalities. Device 1170 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via USB).
[0091] Further, the communication component 1164 can detect an identifier or can include a component operable to detect an identifier. For example, the communication component 1164 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multidimensional barcodes such as Quick Response (QR) Codes, Aztec Codes, Data Matrix, Data Glyphs, MaxiCodes, PDF417, UltraCodes, UCC RSS-2D barcodes, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying tagged audio signals). Additionally, various information, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi signal triangulation, location via detecting NFC beacon signals that can indicate a specific location, can be derived via the communication component 1164.
[0092] The various memories (i.e., 1130, 1132, 1134, and / or memory of processor 1110) and / or storage unit 1136 may store one or more sets of instructions and data structures (e.g., software) that embody or are utilized by any one or more of the methods or functions described herein. These instructions (e.g., instructions 1116), when executed by processor 1110, cause various operations to implement the disclosed embodiments.
[0093] As used herein, the terms “machine storage medium,” “device storage medium,” and “computer storage medium” mean the same thing and may be used interchangeably in this disclosure. These terms refer to single or multiple storage devices and / or media (e.g., centralized or distributed databases and / or associated caches and servers) that store executable instructions and / or data. Accordingly, these terms should be interpreted to include, but are not limited to, solid-state memory, including memory internal or external to a processor, and optical and magnetic media. Specific examples of machine storage medium, computer storage medium, and / or device storage medium include, by way of example, semiconductor memory devices, non-volatile memory including, for example, 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 under the term "signal media" described below.
[0094] In various exemplary embodiments, one or more portions of network 1180 may be an ad-hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, the Internet, a portion of the Internet, a portion of the PSTN, a plain old telephone service (POTS) network, a cellular network, a wireless network, a Wi-Fi network, another type of network, or a combination of two or more such networks. For example, network 1180 or portions of network 1180 may include a wireless or cellular network, and coupling 1182 may be a code division multiple access (CDMA) connection, a Global System for Mobile Communications (GSM) connection, or another type of cellular or wireless coupling. In this example, coupling 1182 may implement any of various types of data transfer technologies, such as single-carrier radio transmission technology (1xRTT), Evolution Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data Rates for GSM Evolution (EDGE) technology, Third Generation Partnership Project (3GPP) including 3G, Fourth Generation Wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standards, others defined by various standards-setting bodies, other long-range protocols, or other data transfer technologies.
[0095] The instructions 1116 may be transmitted or received over the network 1180 using a transmission medium via a network interface device (e.g., a network interface component included in the communications component 1164) and utilizing any one of several well-known transfer protocols (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, the instructions 1116 may be transmitted or received to the device 1170 using a transmission medium via a coupling 1172 (e.g., a peer-to-peer coupling). The terms “transmission medium” and “signal medium” mean the same thing and may be used interchangeably in this disclosure. The terms “transmission medium” and “signal medium” shall be interpreted to include any intangible medium capable of storing, encoding, or carrying instructions 1116 for execution by the machine 1100, including digital or analog communications signals or other intangible media for facilitating communication of such software. Accordingly, the terms “transmission medium” and “signal medium” should be interpreted to include any form of modulated data signal, carrier wave, etc. The term “modulated data signal” means a signal having one or more characteristics set or changed in such a manner as to encode information in the signal.
[0096] The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" mean the same thing and may be used interchangeably in this disclosure. These terms are defined to include both machine storage media and transmission media. Thus, these terms include both storage devices / media and carrier / modulated data signals.
[0097] Although some examples, such as those illustrated in the figures, include a particular sequence of operations, the sequence may be changed without departing from the scope of the present disclosure. For example, some of the operations illustrated may be performed in parallel or in a different sequence without substantially affecting the functionality described in the example. In other examples, different components of an example device or system implementing an example method may perform functions substantially simultaneously or in a particular order.
[0098] The various features, steps, and processes described herein may be used independently of one another or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of the present disclosure. In addition, some method or process blocks may be omitted in some implementations. [Explanation of symbols]
[0099] 220: Graphical Object Generation Component 240: Reservation Component 260: Shared Components 142: Listing Network Platform
Claims
1. receiving a request from a user to make a reservation through a network site of the listing network platform; determining that the reservation is associated with one or more guests; responsive to determining that the reservation is associated with the one or more guests, presenting a graphical object representing the reservation along with an option to invite the one or more guests to access a portion of information associated with the reservation on the listing network platform; transmitting the graphical object to one or more devices associated with the one or more guests to enable the one or more guests to access a portion of the information associated with the reservation on the listing network platform; A method comprising:
2. receiving input from the user including contact information for the one or more guests; sending the graphical object to the one or more devices using the contact information; 10. The method of claim 1, comprising:
3. The method of claim 2 , wherein the graphical object is delivered via email or SMS message.
4. receiving input from the user prior to receiving the request to make the reservation, the input including an indication of a number of guests to associate with the reservation; Preventing a portion of the information associated with the reservation from being accessed by more guests than the number of guests associated with the reservation; The method of claim 1 further comprising:
5. the graphical object includes an interactive postcard visually representing a location associated with the reservation, the postcard including a front portion including information identifying the location, and the postcard including a back portion including details associated with the reservation; the information identifying the location includes the name of a city; or The details associated with the reservation include the date of the reservation, the total number of guests, an identifier for the guests, the name of the host, and the type of accommodation; The method of claim 1 comprising:
6. switching between presenting the front portion and presenting the back portion in response to a tap input on a current face of the postcard being presented; The method of claim 5 further comprising:
7. causing the graphical object to be presented in a graphical user interface on a respective one of the one or more devices associated with a respective one of the one or more guests; causing the graphical user interface to present trip participation options; In response to receiving input from the individual guest selecting the travel participation option, enabling the individual guest to access the portion of the information associated with the reservation, the portion of the information including one or more messages exchanged between the user and a host of the reservation; The method of claim 1 further comprising:
8. receiving input from the user to invite the one or more guests to access the portion of the information associated with the reservation; generating a link including a unique string in response to receiving the input; associating the link with the reservation along with an expiration date for revoking access to the link; The method of claim 1 further comprising:
9. receiving a request from a respective one of the one or more guests to join the reservation, the request including the unique string; verifying that the unique string is valid; responsive to determining that the unique string is valid, adding an identifier for the individual guest to the reservation to enable the individual guest to access the portion of the information associated with the reservation; The method of claim 8 further comprising:
10. receiving a request from a respective one of the one or more guests to join the reservation, the request including the unique string; verifying that the unique string is valid; responsive to determining that the unique string is invalid, preventing the individual guest from being added to the reservation; and The method of claim 8 further comprising:
11. Disabling the link in response to determining at least one of the reservation being canceled, a cancellation request being received from the user, or the user checking out of the accommodation associated with the reservation; The method of claim 8 further comprising:
12. selecting a respective template from a plurality of templates based on data associated with the reservation; generating the graphical object using the selected individual template; The method of claim 1 further comprising:
13. storing the plurality of templates; associating a first group of templates of the plurality of templates with respective listing identifiers of different listings on the listing network platform; associating a second group of templates from the plurality of templates with destination information; associating a third group of templates from the plurality of templates with respective classification information; The method of claim 12 further comprising:
14. determining whether a listing identifier of a listing for the reservation corresponds to one of the listing identifiers of the first template group; In response to determining that the listing identifier of the reservation corresponds to one of the listing identifiers of the first template group, selecting the template associated with the listing identifier as the individual template; in response to determining that the listing identifier of the reservation does not correspond to one of the listing identifiers of the first template group, determining whether a city tag matches the destination information of one of the templates in the second template group; in response to determining that the city tag matches the destination information of one of the templates of the second template group, selecting the template of the second template group that matches the city tag as the individual template; determining whether classification information is available for the listing for the reservation in response to determining that the city tag does not match the destination information for one of the templates in the second template group; and selecting a default template as the individual template in response to determining that classification information is not available for the listing for the reservation; responsive to determining that classification information is available for the listing for the reservation, comparing the classification information associated with the listing to the classification information associated with the third template group; selecting one of the third template groups having the classification information that matches the classification information associated with the listing; 14. The method of claim 13, further comprising:
15. one or more processors of the machine; When executed by the one or more processors, the machine: receiving, by a network site of the listing network platform, a request from a user to make a reservation; determining that the reservation is associated with one or more guests; responsive to determining that the reservation is associated with the one or more guests, presenting a graphical object representing the reservation along with an option to invite the one or more guests to access a portion of information associated with the reservation on the listing network platform; transmitting the graphical object to one or more devices associated with the one or more guests to enable the one or more guests to access a portion of the information associated with the reservation on the listing network platform; and Including, the system.
16. receiving input from an operator of a listing network platform defining visual attributes of each template of a plurality of templates and selection criteria associated with each template of said plurality of templates; storing the plurality of templates, each of the plurality of templates being associated with a different group of a set of groups, each template of the plurality of templates including visual information representing a location of a reservation on the listing network platform; selecting a respective template from the plurality of templates based on information associated with the listing identifier; generating a graphical object to represent a reservation corresponding to the listing identifier using the selected individual template; A method comprising:
17. presenting a graphical user interface (GUI) on an operator's device, said graphical user interface including a plurality of regions for defining the visual attributes and the selection criteria of each template; 17. The method of claim 16, further comprising:
18. presenting template name information in a first area of the GUI for assigning a name to a particular template among the plurality of templates; presenting in a second area of the GUI placement information defining the position and font of text identifying the location represented by the particular template; presenting visual definitions of buttons, backgrounds, and icons in a third region of the GUI; presenting an option in a fourth area of the GUI for inputting the selection criteria; 20. The method of claim 17, further comprising:
19. The method of claim 18 , wherein the selection criteria include at least one of one or more tags representing classification information for each template, one or more listing identifiers, or one or more destination identifiers.
20. generating a prompt including destination information of a particular template and a request for classification information associated with said destination information; processing the prompts through a large language model (LLM) to generate an initial list of tags representing classification information; associating the initial list of tags as the one or more tags with the particular template; 20. The method of claim 19, further comprising:
21. receiving input from the operator that modifies the initial list of tags generated by the LLM; 21. The method of claim 20, further comprising:
22. 20. The method of claim 19, further comprising receiving input from the operator associating a particular listing identifier with a particular template and associating the one or more destination identifiers with the particular template.
23. the graphical object includes an interactive postcard visually representing a location associated with the reservation, the postcard including a front portion including information identifying the location, and the postcard including a back portion including details associated with the reservation; The method of claim 16 , further comprising selecting an individual template from the plurality of templates based on data associated with a reservation.
24. associating a first group of templates of the plurality of templates with respective listing identifiers of different listings on the listing network platform; associating a second group of templates from the plurality of templates with destination information; associating a third group of templates from the plurality of templates with respective classification information; 24. The method of claim 23, further comprising:
25. determining whether a listing identifier of a listing for the reservation corresponds to one of the listing identifiers of a first template group; In response to determining that the listing identifier of the reservation corresponds to one of the listing identifiers of the first template group, selecting the template associated with the listing identifier as the individual template; in response to determining that the listing identifier of the reservation does not correspond to one of the listing identifiers of the first template group, determining whether a city tag matches destination information of one of the templates in a second template group; 17. The method of claim 16 further comprising:
26. in response to determining that the city tag matches the destination information of one of the templates of the second template group, selecting the template of the second template group that matches the city tag as the individual template; determining whether classification information is available for the listing for the reservation in response to determining that the city tag does not match the destination information for one of the templates in the second template group; and 26. The method of claim 25 further comprising:
27. selecting a default template as the individual template in response to determining that classification information is not available for the listing for the reservation; and responsive to determining that classification information is available for the listing for the reservation, comparing the classification information associated with the listing to the classification information associated with a third template group; selecting one of the third template groups having the classification information that matches the classification information associated with the listing; 27. The method of claim 26, further comprising:
28. determining that the classification information associated with the listing matches a first number of tags corresponding to the classification information of a first template in the third template group; determining that the classification information associated with the listing matches a second number of tags corresponding to the classification information of a second template in the third template group; 28. The method of claim 27, further comprising:
29. In response to determining that the second number of tags is greater than the first number of tags, selecting the second template as the one of the third group of templates having the classification information that matches the classification information associated with the listing; 30. The method of claim 28, further comprising:
30. enabling users of the listing network platform to use the graphical object to share access to the reservation with one or more guests; 17. The method of claim 16, further comprising:
Citation Information
Patent Citations
Travel self-package service providing system
JP2023153052A
Travel information sharing system, travel information sharing program, and travel information sharing method
JP7450148B1
Organization of Group Attended Ticketed Event
US20130085790A1
System and method for sharing actionable travel itineraries
US20150134378A1
Server, terminal, information processing method, and program
WO2023008282A1