The present disclosure is generally related to organizing events. More particularly, the present disclosure is directed to systems and methods for generating events open to qualifying participants within a geographical area.
The rise of internet-connected smartphones has made it easier than ever before to spend time with friends and family. Despite being connected to a large number of people, many find it difficult to organize and plan events in the real world. This is especially true for planning events focused on a particular activity that demands a certain skill level. For example, adults that are interested in playing sports have a hard time finding other like-minded individuals who are not only interested in participating in a particular activity or an event but who also possess a level of skill required to join the activity.
Typically, a number of social media platforms may offer users a variety of event scheduling capabilities. However, users have struggled with admitting only those participants whose abilities and/or skill level have been verified. Accordingly, a user may be required to sacrifice desired features when scheduling and managing events. There is an ongoing need for improved systems and methods to allow users to organize events by not only specifying event planning details such as time, location, and activity type, but also specifying entry requirements by specifying participant skill level and determining participant eligibility based on information provided by participants.
In accordance with one or more embodiments, various features and functionality can be provided to enable or otherwise facilitate a generating events based on one or more user specified parameters within a geographical area.
In some embodiments, an event system may be configured to receive event information corresponding to an event and specifying a set of user-specific parameters For example, the event system may receive event information sent by a user (e.g., event organizer) via an event application. In some embodiments, the event system may be configured to generate an event based on the set of user-specific parameters received from the first user.
In some embodiments, the set of user-specific parameters comprise an event location, an event time, and event type, and a participation requirement specified by the event organizer. In some embodiments, the event system may receive real-world location information specifying a real-world location of the event organizer. In some embodiments, the event location may be determined based on a real world location of the event organizer.
In some embodiments, the system may send a notification comprising the event information to another user (e.g., potential event participant) notifying that user of the event.
In some embodiments, the event system may be configured to receive an enrollment request from the potential event participant who may request to participate in the event. In some embodiments, the enrollment request may comprise demographic information of the potential event participant, location of the potential event participant, an event time of the potential event participant, an event type preferred by the potential event participant, and skill level preferred by the potential event participant. In some embodiments, the event system may receive real-world location information specifying a real-world location of the potential event participant.
In some embodiments, the event system may be configured to determine event eligibility of the user. For example, event eligibility may be determined by comparing the event location to the location of the potential event participant, the event time to the event time preferred by the potential event participant, the event type to the event type preferred of the potential event participant, and participation requirement to the skill level of the potential event participant.
In some embodiments, upon determining event eligibility of potential event participant, the event system may be configured enroll the potential event participant in the event.
Described herein are systems for generating events within a geographic location based on user-specified criteria. The details of some example embodiments of the systems and methods of the present disclosure are set forth in the description below. Other features, objects, and advantages of the disclosure will be apparent to one of skill in the art upon examination of the following description, drawings, examples and claims. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims.
As alluded to above, users may be interested in organizing events opened to participants with a particular level of skill or ability. For example, a user may be interested in playing a game of soccer near their home with individuals that are proficient in soccer.
In accordance with various embodiments, a user can generate events by specifying event criteria. For example, the user can specify number of parameters related, for example to time of event, location of event, duration of event, event type, participant number, participant type, participant skill level, and other such parameters. organize and manage
In some embodiments, and as shown in
In some embodiments, the users of event system 100 (e.g., event organizers and/or event participants) may access the event platform 120 via client computing devices(s) 104. The users of event system 100 (e.g., event organizers and event participants) may access server 126 which may include one or more processors 124 configured to execute one or more computer program components. In some embodiments, the computer program components may include one or more of a subscription component 106, an event information component 108, an event notification component 110, an enrollment component 112, an event participation component 114, and/or other such components.
In some implementations, event platform 120, client computing devices 104, and/or external resources 130 may be operatively linked via one or more electronic communication links. For example, such electronic communication links may be established, at least in part, via a network 103 such as the Internet and/or other networks. It will be appreciated that this is not intended to be limiting, and that the scope of this disclosure includes implementations in which server(s) 102, client computing platform(s) 104, and/or external resources 130 may be operatively linked via some other communication media.
In some embodiments, external resources 130 may comprise one or more performance tracking repositories provided by one or more external agencies or systems. The performance repository may include one or more servers, processors, and/or databases that can store performance related information, e.g., skill level, performance history, event history, scores, statistics, and other such information provided by one or more external systems. The performance related information may be used by the event platform 120 to determine and/or verify participant eligibility, as will be described in detail below.
In some embodiments, client computing device 104 may be equipped with GPS location tracking and may transmit geolocation information via a wireless link and network 103 to system 100. In some embodiments, event system 100 may use the geolocation information to determine a geolocation associated with users of the event system 100. Event system 100 may use signal transmitted by client computing device 104 to determine the geolocation of a user based on one or more of signal strength, GPS, cell tower triangulation, Wi-Fi location, or other input. In some embodiments, the geolocation associated with the user may be used by one or more computer program components (e.g., event information component 108, an event notification component 110, an enrollment component 112, and event participation component 114) during the event generation process.
In some embodiments, a user may register and set up an account with event platform 120. The user may input information associated with and/or relevant to the user via user subscription component 106, such as user information specifying user demographic characteristics (e.g., age, gender, occupation, and so on). In some embodiments, the user may enter a geographic location the user the be interested in either organizing an event or participating in an event. In some embodiments, the user may input information associated with activities and/or events the user may be interested in organizing or participating. For example, the user may either specify types or categories of activities or events, or input a specific activity or event, or both.
In some embodiments, the user may input information associated with their level of skill, experience, and/or proficiency with a certain activity or event. For example, the user may indicate a number of years they have been involved with a particular activity (e.g., number of years playing a sport or number of years mountain climbing), a level of skill they posses (e.g., beginner, intermediate, advanced), achievements associated with a particular activity (e.g., number of games won or challenging routes completed). In some embodiments, the user may specify one or more external agencies and/or systems that can be used to verify user's performance related information (e.g., skill level, performance history, event history, scores, statistics, and other such information), as will be discussed in greater detail below.
In some embodiments, as alluded to above, the user may access the event platform 120 via a client computing devices 104 via a user interface (not shown). For example, the client computing device 104 may be a desktop computer or a mobile device (e.g., a tablet computing device a cellular phone). The interface may be used by users (e.g., event organizers and event participants) to receive and transmit information to the event platform 120 via a communication network 103, as explained above.
In some embodiments, the user subscription component 106 may be configured to generate a user subscription form configured to receive user input. For example, and as illustrated in
In some embodiments, subscription component 106 may be configured to receive user input indicating user status, i.e., whether user intends to be an organizer or a participant, or both. For example, user may indicate their intent to be event organizer via input field 206 or event participant via input field 208. In some embodiments, the user subscription component 106 may be configured to receive user information 210 including user biometric information. For example, a user may provide their name and date of birth via input field 212 within the user subscription screen 200. Similarly, user may provide address, and contact information, via input fields 214, 216, respectively.
In some embodiments, the user subscription component 106 may be configured to receive user input related to one or more locations where user is interested in participating in events or organizing events. For example, user may input location information 220 associated with events or activities by inputting a geographical area via input field 222 (e.g., a particular neighborhood or city). In some embodiments, user may input location information 220 associated with events or activities by inputting a particular location via input field 224 (e.g., a particular destination or landmark).
In some embodiments, the user subscription component 106 may be configured to receive user input related to one or more events or activities that user is interested in participating or organizing. For example, user may input event information 230 associated with an event or activity by inputting event category information via input field 232. In some embodiments, an event category may include one or more activities or events. For example, an event category of team sports may include activities such as softball, soccer, basketball, and so on. In some embodiments, user may input event information 230 associated with events or activities by inputting a particular event or activity via input field 234 (e.g., soccer).
In some embodiments, the user subscription component 106 may be configured to receive user input related to their performance level associated with one or more activities that user is interested in participating or organizing. For example, user may input performance information 240 associated with a particular activity by inputting number of years they have been participating in that activity, their skill level, and their achievements via input fields 242, 244, and 246, respectively.
In some embodiments, user may link their account within event platform 120 with one or more outside agencies or organizations configured to store data related to user's performance. In some embodiments, user may input external agency information configured to track user performance (e.g., skill level, performance history, event history, scores, statistics, and other such information), as alluded to earlier. For example, the user may provide external agency information by inputting information related to a particular agency via input field 248. In some embodiments, the event platform 120 may access the external agency information provided by the user to validate their performance level during participant eligibility determination, as will be described in detail below. For example, event platform 120, using, e.g., an application programming interface (API), may transmit an inquiry comprising user information to verify and/or obtain user performance information.
In some embodiments, a user that has registered as an event organizer, as alluded to above, may access the event platform 120 via a user interface (not shown) to create an event. In some embodiments, the organizer may provide one or more parameters during event planning and/or creating process. For example, the organizer may specify one or more parameters such as a type of event or activity, time, location, desired skill level of participants, and number of participants.
In some embodiments, the event information component 108 may be configured to generate an event entry form configured to receive user (e.g., event organizer) input during an event planning process. For example, and as illustrated in
In some embodiments, the event information component 108 may be configured to determine one or more event details based on user-specified event parameters provided by the organizer via the event information screen 300. For example, the event information component 108 may receive user input event for category information specifying team sports and event time specifying Saturday, 11 AM, and event location specifying an area equal to a 10 mile radius around user's home. In some embodiments, the event information component 108 may receive user's geographic location transmitted by their client communication device 104, as alluded to earlier. Based on this information, the event information component 108 may determine that the only available venues on Saturday at 11 AM, located within a 10 mile radius and suitable for playing a team sport is are basketball court and a softball field.
In some embodiments, the event information component 108 may be configured to generate one or more event selections based on user-specified event parameters provided by the organizer via the event information screen 300. For example, once the event organizer inputs event information, as alluded to above, the event information component 108 may present user with one or more event selections. In some embodiments, and as illustrated in
In some embodiments, the participant information may be specified by the event organizer, as alluded to above, by entering participant information 316 via event information screen 300. In some embodiments, the event information component 108 may determine participant information based on other user-specified event parameters provided by the organizer via the event information screen 300. For example, upon selecting a particular event selection (e.g., event selection A) associated with a particular event such as a basketball game, the event information component 108 may determine a maximum and minimum number of participants required to play a game of basketball. In some embodiments, the event information component 108 may determine that participant requirements based on other user-specified event parameters provided by the organizer via the event information screen 300. For example, upon receiving participant skill level as intermediate specified by the event organizer, event information component 108 may determine that only participants having a skill level corresponding to intermediate skill level may enroll in the event, as will be described in detail below.
In some embodiments, upon receiving event selection inputted by event organizer, the event information component 108 may be configured to transmit information to event notification component 110. In some embodiments, event notification component 110 may be configured to generate an event notification associated with a participant event selection made by the event organizer. In some embodiments, the event notification component 110 may be configured to transmit the event notification to one or more users (i.e., potential event participants). For example, and as illustrated in
In some embodiments, the event notification component 110 may be configured to transmit the event notification to one or more users the organizer may be associated with in one or more social networks. For example, event platform 120, using, e.g., an application programming interface (API), may obtain user information from one or more social network accounts associated with the event organizer.
In some embodiments, participants may view one or more event notifications transmitted by event notification component 110, as alluded to above. In some embodiments, the user receiving the event notification transmitted via the event notification component 110 may enroll in an event specified in the event notification. For example, as illustrated in
In some embodiments, the enrollment component 112 may be configured to determine participant eligibility. For example, upon receiving enrollment request from the user, the enrollment component 112 may verify user skill level by transmitting an inquiry comprising user information to one or more external agencies.
In some embodiments, upon receiving a verification that the user skill level corresponds to the skill level indicated by the event organizer the enrollment request may be transmitted by the enrollment component 112 to the event organizer. In some embodiments, event organizer may view all users that have requested enrollment in the event and select users that they wish to admit into the event. For example, the user may use user skill level and/or other performance information to determine enrollment.
In some embodiments, users that have requested enrollment in the event may be enrolled in the event automatically. In some embodiments, users that have been selected by the event organizer may receive a notification indicating their enrollment. In some embodiments, upon completing the enrollment of a number of users corresponding to a number users indicated in the event information parameter, the enrollment component 112 may reject user request to enrollment in the event. In some embodiments, user that were not selected by the event organizer may receive a notification informing them that they were not selected to participate in the event.
In some embodiments, the event system 100 may be configured to track participation of users enrolled in the event. For example, client computing device 104 associated with users that have been enrolled in the event may be equipped with GPS location tracking and may transmit geolocation information via a wireless link and a communications network to the event platform 120 of event system 100. In some embodiments, event platform 120 may use the geolocation information to determine a geolocation associated with individual users enrolled in the event. For example, event platform 120 may use signal transmitted by client computing device 104 to determine the geolocation of each of the enrolled user based on one or more of signal strength, GPS, cell tower triangulation, Wi-Fi location, or other input. In some implementations, movements of each of the enrolled user may be tracked using a geography-based transmitter on client computing device 104.
In some embodiments, event participation component 114 may be configured to determine user participation by verifying whether user's geographic location determined by the event platform 120, as alluded to above, confirms to the event location at the event time. For example, users whose client computing device 104 indicates that they are not located at the event location at the event time will be deemed as having missed the event.
In some embodiments, event participation component 114 may be configured to obtain additional metrics associated with user participation in the event. For example, duration of user's participation and speed with which they are moving during the event may be obtained.
In some embodiments, event participation component 114 may be configured to rank and/or rate users enrolled in the event. For example, attendance may be used to rank individual users by the event system 100. In some embodiments, and as illustrated in
At operation 603, the system may receive event enrollment request from a user that has received an event notification. Upon receiving an event enrollment request, user's eligibility to participate in the event may be determined, at operation 604. Upon determining user edibility, users may be enrolled in the event by, at operation 605. At an operation 606, the user participation may be determined by using on one or more of signal strength, GPS, cell tower triangulation, Wi-Fi location, or other input.
As used herein, the term module might describe a given unit of functionality that can be performed in accordance with one or more embodiments of the present application. As used herein, a module might be implemented utilizing any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines or other mechanisms might be implemented to make up a module. In implementation, the various modules described herein might be implemented as discrete modules or the functions and features described can be shared in part or in total among one or more modules. In other words, as would be apparent to one of ordinary skill in the art after reading this description, the various features and functionality described herein may be implemented in any given application and can be implemented in one or more separate or shared modules in various combinations and permutations. Even though various features or elements of functionality may be individually described or claimed as separate modules, one of ordinary skill in the art will understand that these features and functionality can be shared among one or more common software and hardware elements, and such description shall not require or imply that separate hardware or software components are used to implement such features or functionality.
Where components or modules of the application are implemented in whole or in part using software, in one embodiment, these software elements can be implemented to operate with a computing or processing module capable of carrying out the functionality described with respect thereto. One such example computing module is shown in
Referring now to
Computing module 700 might include, for example, one or more processors, controllers, control modules, or other processing devices, such as a processor 704. Processor 704 might be implemented using a general-purpose or special-purpose processing engine such as, for example, a microprocessor, controller, or other control logic. In the illustrated example, processor 704 is connected to a bus 702, although any communication medium can be used to facilitate interaction with other components of computing module 700 or to communicate externally.
Computing module 700 might also include one or more memory modules, simply referred to herein as main memory 708. For example, preferably random access memory (RAM) or other dynamic memory might be used for storing information and instructions to be executed by processor 704. Main memory 708 might also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 704. Computing module 700 might likewise include a read only memory (“ROM”) or other static storage device coupled to bus 702 for storing static information and instructions for processor 704.
The computing module 700 might also include one or more various forms of information storage devices 710, which might include, for example, a media drive 712 and a storage unit interface 720. The media drive 712 might include a drive or other mechanism to support fixed or removable storage media 714. For example, a hard disk drive, a floppy disk drive, a magnetic tape drive, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive might be provided. Accordingly, storage media 714 might include, for example, a hard disk, a floppy disk, magnetic tape, cartridge, optical disk, a CD or DVD, or other fixed or removable medium that is read by, written to or accessed by media drive 712. As these examples illustrate, the storage media 714 can include a computer usable storage medium having stored therein computer software or data.
In alternative embodiments, information storage devices 710 might include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into computing module 700. Such instrumentalities might include, for example, a fixed or removable storage unit 722 and a storage unit interface 720. Examples of such storage units 722 and storage unit interfaces 720 can include a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, a PCMCIA slot and card, and other fixed or removable storage units 722 and interfaces 720 that allow software and data to be transferred from the storage unit 722 to computing module 700.
Computing module 700 might also include a communications interface 724. Communications interface 724 might be used to allow software and data to be transferred between computing module 700 and external devices. Examples of communications interface 724 might include a modem or softmodem, a network interface (such as an Ethernet, network interface card, WiMedia, IEEE 802.XX or other interface), a communications port (such as for example, a USB port, IR port, RS232 port Bluetooth® interface, or other port), or other communications interface. Software and data transferred via communications interface 724 might typically be carried on signals, which can be electronic, electromagnetic (which includes optical) or other signals capable of being exchanged by a given communications interface 724. These signals might be provided to communications interface 724 via a channel 728. This channel 728 might carry signals and might be implemented using a wired or wireless communication medium. Some examples of a channel might include a phone line, a cellular link, an RF link, an optical link, a network interface, a local or wide area network, and other wired or wireless communications channels.
In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to transitory or non-transitory media such as, for example, memory 708, storage unit interface 720, media 714, and channel 728. These and other various forms of computer program media or computer usable media may be involved in carrying one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on the medium, are generally referred to as “computer program code” or a “computer program product” (which may be grouped in the form of computer programs or other groupings). When executed, such instructions might enable the computing module 700 to perform features or functions of the present application as discussed herein.
Various embodiments have been described with reference to specific exemplary features thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the various embodiments as set forth in the appended claims. The specification and figures are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Although described above in terms of various exemplary embodiments and implementations, it should be understood that the various features, aspects and functionality described in one or more of the individual embodiments are not limited in their applicability to the particular embodiment with which they are described, but instead can be applied, alone or in various combinations, to one or more of the other embodiments of the present application, whether or not such embodiments are described and whether or not such features are presented as being a part of a described embodiment. Thus, the breadth and scope of the present application should not be limited by any of the above-described exemplary embodiments.
Terms and phrases used in the present application, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. As examples of the foregoing: the term “including” should be read as meaning “including, without limitation” or the like; the term “example” is used to provide exemplary instances of the item in discussion, not an exhaustive or limiting list thereof; the terms “a” or “an” should be read as meaning “at least one,” “one or more” or the like; and adjectives such as “conventional,” “traditional,” “normal,” “standard,” “known” and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future. Likewise, where this document refers to technologies that would be apparent or known to one of ordinary skill in the art, such technologies encompass those apparent or known to the skilled artisan now or at any time in the future.
The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent. The use of the term “module” does not imply that the components or functionality described or claimed as part of the module are all configured in a common package. Indeed, any or all of the various components of a module, whether control logic or other components, can be combined in a single package or separately maintained and can further be distributed in multiple groupings or packages or across multiple locations.
Additionally, the various embodiments set forth herein are described in terms of exemplary block diagrams, flow charts and other illustrations. As will become apparent to one of ordinary skill in the art after reading this document, the illustrated embodiments and their various alternatives can be implemented without confinement to the illustrated examples. For example, block diagrams and their accompanying description should not be construed as mandating a particular architecture or configuration.