SYSTEMS AND METHODS FOR LOCATION-BASED EVENT MATCHING

A computer-implemented method of location-based event matching includes receiving by a server from a first user device, a plurality of events. Each event of the plurality of events includes a geographic location and a user profile of an event creator. The method further includes transmitting to the first user device, an indication to display a graphical representation of the plurality of events; receiving by the server, from the first user device, a preference indication for an event of the plurality of events; determining, by the server, a potential match based on the geographic location and the preference indication; transmitting to a second user device, an indication to display a graphical representation of the potential match; receiving from the second user device, approval of the potential match as an approved match; and transmitting to the first user device, an indication to display a graphical representation of the approved match.

TECHNICAL FIELD

The present application relates to systems and methods for event matching, and in particular, to location-based event matching.

SUMMARY

In accordance with aspects of the present disclosure, a computer-implemented method of location-based event matching presented. The method includes transmitting to a first user device, a plurality of events. Each event of the plurality of events includes a geographic location and a user profile of an event creator. The method further includes transmitting to the first user device, an indication to display a graphical representation of the plurality of events; receiving by the server, from the first user device, a preference indication for an event of the plurality of events; determining, by the server, a potential match based on the geographic location and the preference indication; transmitting by the server to a second user device, an indication to display a graphical representation of the potential match; receiving by the server, from the second user device, an approval of the potential match as an approved match; and transmitting to the first user device, an indication to display a graphical representation of the approved match.

In accordance with aspects of the present disclosure, each event of the plurality of events may further include a description of the event, a time, a date, and/or a category.

In accordance with aspects of the disclosure, displaying the plurality of events may include filtering the plurality of events to be displayed on the user device based on a category and displaying, on the user device, a graphical representation of the filtered plurality of events.

In another aspect of the present disclosure, the filtering may be further based on a maximum geographic distance between the user and each event of the plurality of events, a gender interest, and/or an age range.

In yet another aspect of the present disclosure, displaying the plurality of events may include displaying a description of the event, a map of the event geographic location, a profile of the event creator, an indication of a countdown time until a start time of the event, and/or a checklist.

In a further aspect of the present disclosure, receiving the preference indication for an event of the plurality of events may include prompting the user to submit a preference indication for the event.

In yet a further aspect of the present disclosure, the method may further include, after receiving the preference indication for an event of the plurality of events, storing in a shopping cart the least one event based on the received indication.

In an aspect of the present disclosure, receiving the preference indication for the event of the plurality of events may include receiving from the first user device, a gesture associated with the graphical representation of the plurality of events indicating a preference for one of the events of the plurality of events.

In another aspect of the present disclosure, the determining the potential match may be further based on matching a user profile to an event creator profile.

In accordance with aspects of the present disclosure, a system for location-based event matching is presented. The system includes a server that includes a processor and a memory. The memory includes instructions stored thereon, which when executed by the processor cause the system to receive from a first device, from the server, a plurality of events, each event of the plurality of events includes a geographic location and a user profile of an event creator; transmit to the first user device, a graphical representation of the plurality of events; transmit, by the first user device to the server, a preference indication for an event of the plurality of events; determine, by the server, a potential match based on the geographic location and the preference indication; display, on the second user device, a graphical representation of the potential match; receive, from the second user device, approval of the potential match as an approved match; and display, on the first user device, a graphical representation of the approved match.

In yet another aspect of the present disclosure, each event of the plurality of events may further include a description of the event, a time, a date, and/or a category.

In a further aspect of the present disclosure, when displaying the plurality of events, the instructions, when executed by the processor, may further cause the system to filter the plurality of events to be displayed on the user device based on a category and display, on the user device, a graphical representation of the filtered plurality of events.

In another aspect of the present disclosure, the filtering may be further based on a maximum geographic distance between the user and each event of the plurality of events, a gender interest, and/or an age range.

In yet another aspect of the present disclosure, when displaying the plurality of events, the instructions, when executed by the processor, may further cause the system to display a description of the event, a map of the event geographic location, a profile of the event creator, an indication of a countdown time until a start time of the event, and/or a checklist.

In a further aspect of the present disclosure, when receiving the preference indication for an event of the plurality of events, the instructions, when executed, may further cause the system to prompt the user to submit a preference indication for the event.

In yet a further aspect of the present disclosure, after receiving the preference indication for an event of the plurality of events, the instructions, when executed by the processor, may further cause the system to store in a shopping cart the least one event based on the received indication.

In yet a further aspect of the present disclosure, when receiving a preference indication for the instructions, when executed by the processor, may further cause the system to receive from the first user device, a gesture associated with the graphical representation of the plurality of events indicating preference for one of the events of the plurality of events.

In accordance with aspects of the present disclosure, a non-transitory computer-readable storage medium in which is stored a program for causing a computer to execute a computer-implemented method of location-based event matching is presented. The method includes receiving by a server from by a first user device a plurality of events. Each event of the plurality of events includes a geographic location and a user profile of an event creator. The method further includes transmitting to the first user device, a graphical representation of the plurality of events for display; receiving by the server, from the first user device, a preference indication for an event of the plurality of events; determining, by the server, a potential match based on the geographic location and the preference indication; transmitting to a second user device, a graphical representation of the potential match for display; receiving by the server, from the second user device, an approval of the potential match as an approved match; and transmitting to the first user device, a graphical representation of the approved match, for display.

Further details and aspects of exemplary aspects of the present disclosure are described in more detail below with reference to the appended figures.

DETAILED DESCRIPTION

This disclosure relates to systems and methods for event matching, and in particular, to location-based event matching.

Although the present disclosure will be described in terms of specific aspects, it will be readily apparent to those skilled in this art that various modifications, rearrangements, and substitutions may be made without departing from the spirit of the present disclosure. The scope of the present disclosure is defined by the claims appended hereto.

Referring toFIG.1, there is shown an illustration of an exemplary networked environment100in accordance with aspects of the present disclosure. The system100includes one or more client computer systems110,120, a network150, a server200, and one or more mobile device140,160. The mobile device(s)140,160, or the client computer system110,120, communicate with the server200across the network150to manage data. In one example, the server200may store a plurality of events, a user's personal profile, and settings. The server200may communicate the plurality of events to a user device140for display to a user.

In the illustrated aspect, the networked environment100includes a third party server130. In various aspects, the third-party server130can store and communicate user tasks, and the server200can import such user tasks from the third party server130. In various aspects, data, services, or applications from third-party servers130may be used by the server200for scheduling operations. Such data from third-party servers130can include, for example, a user's available time, events, tags, or the weather forecast.

The network150may be wired or wireless and can utilize technologies such as Wi-Fi, Ethernet, Internet Protocol, 3G, and/or 4G, or other communication technologies. The network150may include, for example, but is not limited to, a cellular network, residential broadband, satellite communications, private network, the Internet, local area network, wide area network, storage area network, campus area network, personal area network, or metropolitan area network.

The term “application” may include a computer program designed to perform particular functions, tasks, or activities for the benefit of a user. Application may refer to, for example, software running locally or remotely, as a standalone program or in a web browser, or other software which would be understood by one skilled in the art to be an application. An application may run on the server200or on a user device, including, for example, on a mobile device140or a client computer system110.

Referring now toFIG.2, an illustration of exemplary components of the server200ofFIG.1, is shown. The server200includes, for example, a database210, one or more processors220, at least one memory230, and a network interface240.

The database210can be located in storage. The term “storage” may refer to any device or material from which information may be capable of being accessed or reproduced or held in an electromagnetic or optical form for access by a computer processor. A storage may be, for example, volatile memory such as RAM, non-volatile memory, which permanently hold digital data until purposely erased, such as flash memory, magnetic devices such as hard disk drives, and optical media such as a CD, DVD, Blu-ray disc, or the like.

In various aspects, data may be stored on the server200, including, for example, user-selected and/or created events, preferences, historical data, documents, and/or other data. The data can be stored in the server database210and sent via the system bus to the processor220.

As will be described in more detail later herein, the processor220executes various processes based on instructions that can be stored in the server memory230and utilizing the data from the database210. With reference also toFIG.1, a request from a user device, such as a mobile device140or a client computer110, can be communicated to the server200, through the server's network interface240. For example, a user can conduct scheduling operations on a user computer110. The server200can access the user's event schedule, apply processing to the user's event schedule, and provide the user with an updated schedule as a result.

Referring toFIG.3, there is shown a flow chart of an exemplary computer-implemented method300of location-based event matching in accordance with aspects of the present disclosure. As mentioned above, a user may maintain a calendar of events at client computer systems110,120. In accordance with aspects of the present disclosure, the server200operates to improve or optimize the matching of a user to an event. Although the steps ofFIG.3are shown in a particular order, the steps need not all be performed in the specified order, and certain steps can be performed in another order. For simplicity,FIG.3will be described below with the server200performing the operations. However, in various aspects, the operations ofFIG.3may be performed in part by the server200ofFIG.1and in part by another device, such as the mobile device(s)140,160or at client computer systems110,120. These variations are contemplated to be within the scope of the present disclosure.

Initially, at step302, the operation accesses by a first user device, a plurality of events. The events may be stored on a server. Each event includes a geographic location and a user profile of an event creator. Each event may further include a description of the event, a time, a date, and/or a category. For example, a first user named Alexandra may create an event, such as a “road trip to Malibu in twelve hours” (SeeFIG.6B). Alexandra's user profile may include, for example, her age, approximate location, height, and relationship status.

Next, at step304, the operation displays, on the first user device, a graphical representation of the plurality of events. For example, the first user's device may display a graphical representation of a number of events, such as the “Road trip to Malibu in twelve hours,” “Movie and a dinner,” etc. Displaying the plurality of events may include displaying, for example, a description of the event, a map of the event's geographic location, a profile of the event creator, an indication of a countdown time until a start time of the event, and/or a checklist. The checklist may include items needed for the event. For example, flip flops and a swimsuit may be included on a checklist for an event at a beach.

In aspects, the operation may include filtering the plurality of events to be displayed on the user device based on a category and displaying, on the user device, a graphical representation of the filtered plurality of events. The category may include but is not limited to, for example, arts, crafts, adventure, classes, sports, fitness, recreational, food, drink, events, shows, local attractions, vehicles, and/or all events. Multiple categories may be selected, for example, adventure and sports. In aspects, filtering may be further based on a maximum geographic distance between the user and each event of the plurality of events, a gender interest, and/or an age range. The operation may display, on the user device, a graphical representation of the filtered plurality of events.

Next, at step306, the operation receives by the server, from the first user device, a preference indication for an event of the plurality of events. For example, the preference indication may include “liking” or “favoriting” the event. The operation may prompt the user to submit a preference indication for the event. In aspects, the operation may detect, from the user device, a gesture associated with the graphical representation of the plurality of events indicating a preference for one of the events of the plurality of events. Any number of gestures is contemplated by the disclosure.

The user may select more than one event that they are interested in. For example, they may store three or four events they are interested in, in a “shopping cart” before deciding on which event they would like to go on.

Next, at step308, the operation determines, by the server, a potential match based on the geographic location and the preference indication. The geographic location and the preference indication may we weighted. Thus enabling, for example, geographic location to have more weight in the matching decision. The determination may be based on, for example, a machine learning network trained on previous matches and/or by pattern matching. This has the benefit of making matches more efficient over current technology.

In aspects, the potential match may be predicted by generating, based on the geographic location and the preference indication, a data structure that is formatted to be processed through one or more layers of a machine learning model. The data structure may have one or more fields structuring data. The potential match may further be predicted by processing data that includes the data structure, through each of the one or more layers of the machine learning model that has been trained to predict a potential match; and generating, by an output layer of the machine learning model, an output data structure. The output data structure may include one or more fields structuring data indicating a likelihood that an event is a potential match. The potential match may further be predicted by processing the output data structure to determine whether data organized by the one or more fields of the output data structure satisfies a predetermined threshold. The output data structure includes one or more fields structuring data indicating a likelihood that a particular event may be a potential match. The potential match may further be predicted by generating the prediction based on the output data of the machine learning model. The prediction includes the potential match.

Next, at step310, the operation displays, on a second user device, a graphical representation of the potential match (FIG.6C). For example, a graphical representation of the potential match is displayed on the event creator's user device.

Next, at step312, the operation receives by the server, from the second user device (e.g., the device of the event planner), approval of the potential match as an approved match. The event creator then approves on their device the potential matches. In aspects, the operation enables the event planner to control interaction with the user.

Next, at step314, the operation displays, on the first user device, a graphical representation of the approved match.

In aspects, a user may plan events and/or shop for events to attend.

Referring toFIG.4, a discovery screen400is shown. The discovery screen400generally includes one or more event overview windows402configured to show information relating to the displayed event, a user profile button1102, a viewing filter button500configured to filter the events by various criteria (e.g., events in Austin, TX), a discover button420configured to enable a user to go “shopping” for events, a “my event” button430configured to display events the user has signed up for, and an engage button440. Although the term “button” may be used to illustrate an example, other user input methods may be utilized, including, but not limited to clickable icons, dropdowns, radio buttons, or other suitable input means. It is contemplated that various buttons or indicators on the screens may include an indicator such as a color to indicate who owns the event. For example, if the user created the event, the button may be green, if someone else created the event it may be purple. Other colors are contemplated to be used for the indication.

The event overview window402includes an image window403configured to show an image chosen by the event planner, an event planner name406(e.g., Alexandra), a countdown time to event412(for example, “32 hours left for the host to message you”), an event title408(e.g., “Malibu road trip”), a distance between the user device and the event410(e.g., 14 miles), and/or a view event detail button414configured to display the event detail screen600and accept button416to select events the user is interested in (FIGS.6A-6C).

The application may also include a button bar450, which includes a discover button420configured to open the discovery screen400, a shopping cart button430configured to open a shopping cart screen, and/or a engage button440configured to open an engagement screen800(FIG.8).

Referring toFIG.5, an exemplary wireframe of a discovery filter screen550is shown in accordance with the present disclosure. In aspects, a category filter screen allows for the filtering of events by category as a user goes “shopping” for events. A check box and a description of the category may be used to help a user narrow the selection of available events. A checkmark or other indicia may be used to show when a category is selected for use in filtering the available events. For example, category may be filtered by one or more of arts, crafts, adventure, classes, sports, fitness, recreational, food, drink, events, shows, local attractions, vehicles, and/or all events. In aspects, the user may narrow by other preferences such as geolocation554(e.g., NY City, NY), maximum distance to the event556, gender interest558(e.g., male and/or female), and/or age range560(e.g., 18-26 years old). Thus, the filtering may be further based on at least one of a maximum geographic distance between the user and each event of the plurality of events, a gender interest, and/or an age range. It is contemplated that an indicator may be displayed that indicates a number of events in a category. For example, the number “3” may be displayed next to “adventure” to indicate that there are three events within the radius that are in the Adventure category. This has the benefit of making event selection faster and more convenient.

Referring toFIGS.6A-6C and7, exemplary wireframes of event detail screens are shown in accordance with the present disclosure. The event detail screen600generally includes an image window403configured to show an image chosen by the event planner, an event planner name406(e.g., Alexandra), a countdown time to event412(for example, “32 hours left for the host to message you”), an event title408(e.g., “Malibu road trip”), a distance between the user device and the event410(e.g., 14 miles), various profile details602(such as height, relationship status, etc.), a detailed description604of the event, an event location607(e.g., Malibu), a map image of the event location606, a checklist of things needed for the event608(e.g., flippers, swimsuit, etc.), a window displaying the event planner's social media626, an “about me” section632configured to display details about the profile owner, a “we'll get along” section628configured to display some user supplied detail about the profile owner, a favorite song section629configured to display a user's favorite song or go to karaoke song, a reject button622and an accept button624. It is contemplated that the map may include a radius style indicator. The radius style indicator has the benefit of keeping the exact location more secure for the event creator (e.g., protecting users), so that a “shopper” does not know the exact location until the creator of the event approves them. The event detail screen600may include a venue detail screen600a(FIG.6CandFIG.7), The venue event detail screen600may include a window displaying images of the venue630, a window displaying details about the venue631, and/or a window displaying further details634about the event at the venue.

In aspects, the user may display one or more current events that they have booked as well as display old events that they booked that have already passed. The user may also see how many likes an event has gotten from other users.

FIGS.8and9are exemplary wireframes of messages screens900of an aspect of the system ofFIG.1. The application may enable messaging between users. The messaging screen900may be accessed from any of the other screens using a messaging icon (not shown). The messaging screen900generally includes a fresh matches indicator904configured to display new matches to other users, a “your message” sub-window908that displays the other user's name (e.g., Julia), a short preview912of the message, an indication of how long ago the message was sent906(e.g., “30 minutes ago”), and a message counter914configured to display a count of messages by the same user. The messaging screen900may further include a header indicating an event and event details that is correlated with one or more of the users displayed922that are interested in the event. The header may include a color to indicate who the event belongs to. For example, the header may be colored green if the displayed event belongs to the user, or purple if it belongs to another user. It is contemplated that other colors may be used to indicate event ownership.

Referring toFIGS.10A-10B, example wireframes of an event creation screen1000are shown. For example, if a user clicks on the “my event” button430(FIG.4) they may be presented with a screen to create an event. It is contemplated that a user may reuse events that were previously created by themselves or other users. Initially, the user may be presented with a window1000showing how to create an event and a button1002configured to begin the process. The user may create an event in several easy steps, for example 1) input event details in one or more detail entry window(s)1006(e.g., name of event, description, things required, time, select one or more categories, etc.), 2) choose a location, and 3) publish the event with publish button1004for people to “shop” for. The aspects disclosed herein are examples of the disclosure and may be embodied in various forms. For instance, although certain aspects herein are described as separate aspects, each of the aspects herein may be combined with one or more of the other aspects herein. Specific structural and functional details disclosed herein are not to be interpreted as limiting, but as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present disclosure in virtually any appropriately detailed structure. Like reference numerals may refer to similar or identical elements throughout the description of the figures.

The phrases “in an aspect,” “in aspects,” “in various aspects,” “in some aspects,” or “in other aspects” may each refer to one or more of the same or different aspects in accordance with the present disclosure. A phrase in the form “A or B” means “(A), (B), or (A and B).” A phrase in the form “at least one of A, B, or C” means“(A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).”

It should be understood that the foregoing description is only illustrative of the present disclosure. Various alternatives and modifications can be devised by those skilled in the art without departing from the disclosure. Accordingly, the present disclosure is intended to embrace all such alternatives, modifications, and variances. The aspects described with reference to the attached drawing figures are presented only to demonstrate certain examples of the disclosure. Other elements, steps, methods, and techniques that are insubstantially different from those described above and/or in the appended claims are also intended to be within the scope of the disclosure. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.