Various embodiments relate generally to electrical and electronic hardware, computer software, wired and wireless network communications, and wearable computing devices for identifying activities and/or destinations of relative importance. More specifically, a system, a device and a method provide to predict activities (e.g., preferential activities) available at a geographic region association with lodging and to adaptively generate advisory data.
A vacation rental marketplace in which disparate owners of second or vacation homes has experienced increasing growth recently. In a vacation rental marketplace, a family or a group of people (e.g., group of friends) may rent anything from cabins, condominiums, summer homes, to villas, barns, farm houses, and castles. These types of rental properties are desirable as typical hotel or motel buildings are not well-suited to accommodate families or groups of people, and are usually less private and less comforting to some guests.
With the advent of networked computing devices, facilitating the renting of properties electronically has enabled travelers to more readily enjoy the experiences of renting others' homes. However, conventional techniques and known technological solutions have been sub-optimal in guiding or navigating travelers to desired activities. Further, conventional computing devices in traditional vacation rental marketplaces are not well-suited to provide sufficient information to travelers regarding activities in a local in which a rental property is located. Another drawback to conventional rental marketplaces is that concierge-like services for guests may be somewhat limited or negligible due to the lack of computing and/or administrative resources.
While conventional approaches are functional, the usual structures and/or functionalities for renting properties are not well-suitable to the increasing technological demands required to optimally guide and/or service the predilections of travelers effectively. Thus, what is needed is a solution for channelizing a participant to desired activities in association with a computerized rental system effectively without the limitations of conventional techniques.
Various embodiments or examples (“examples”) of the invention are disclosed in the following detailed description and the accompanying drawings:
Various embodiments or examples may be implemented in numerous ways, including as a system, a process, an apparatus, a user interface, or a series of program instructions on a computer readable medium such as a computer readable storage medium or a computer network where the program instructions are sent over optical, electronic, or wireless communication links. In general, operations of disclosed processes may be performed in an arbitrary order, unless otherwise provided in the claims.
A detailed description of one or more examples is provided below along with accompanying figures. The detailed description is provided in connection with such examples, but is not limited to any particular example. The scope is limited only by the claims and numerous alternatives, modifications, and equivalents are encompassed. Numerous specific details are set forth in the following description in order to provide a thorough understanding. These details are provided for the purpose of example and the described techniques may be practiced according to the claims without some or all of these specific details. For clarity, technical material that is known in the technical fields related to the examples has not been described in detail to avoid unnecessarily obscuring the description.
Traveler profile generator 122 may be configured to generate or otherwise provide traveler profile data associated with a user, the traveler profile data including various data types specifying associated traveler attributes. Travel customization system 120 may use the traveler attributes to predict a preferred activity in which a user may wish to engage at geographic location 160. According to some examples, traveler profile generator 122 may receive externally-sourced data 131, which may include data retrieved from public or accessible databases (e.g., web-based or on-line databases) other than that of travel customization system 120. Traveler profile generator 122 may also receive via network 140 traveler in-situ data 136 from a mobile computing device 150, which may include executable instructions constituting an application (“travel app”) 152. In some examples, traveler in-situ data 136 may include includes data that may be used to identify or derive travel attributes coterminous or substantially coterminous with present traveling or lodging experiences. In some examples, traveler in-situ data 136 may include locality-related data, such as a location (e.g., location identified by coordinates, such as GPS coordinates, longitude and latitude, etc.), a time of day/month/year, and other localized information (e.g., a predicted weather forecast). Further, traveler profile generator 122 may receive system travel data 132 that includes data representing travel attributes identified in, for example, past traveling or lodging experiences from mobile computing device 150 or other sources (e.g., past electronic rental arrangements facilitated by travel customization system 120).
Traveler profile generator 122 can generate data representing traveler attributes and associations between different types of traveler attributes. To illustrate, consider an example in which traveler attribute data is acquired in one or more past visits to geographic location 160. As shown, lodging 180 for a traveler (e.g., the user) is disposed in a first region (“R1”) 161 of geographic location or region 160. In one example, traveler 170a may transit to a second region (“R2”) 163 to join business colleagues 172 on a golf course 181. In this case, location data may be transmitted as traveler in-situ data 136, whereby traveler profile generator 122 may identify the location as associated with a golf course. Further, traveler profile generator 122 may identify mobile computing devices associated with colleagues 172 as companions linked to the activity of golf. Thus, examples of traveler attribute data for traveler 170a may include “companion identities,” “golf” as an activity type, a location identified as a “golf course,” and data describing the interrelationship to form prediction pattern data. In some examples, prediction pattern data can be used to predict a traveler attribute or another activity. For instance, if traveler 170a has always been accompanied by colleagues 172 (e.g., with no other persons) in second region 163, then traveler 170a may be presumed to be playing golf (e.g., a predicted travel attribute of “golf” may be generated).
As another example, traveler 170b, who is associated lodging 180, may transit to a third region (“R3”) 165 along with a spouse 176 and children 174 at the beach 182. In this case, location data may be transmitted as traveler in-situ data 136, whereby traveler profile generator 122 may identify a location associated with a lake. Further, traveler profile generator 122 may identify mobile computing devices associated with spouse 176 and/or children 174 as companions linked to the activity of “going to the beach,” “beachcombing,” etc. Thus, examples of traveler attribute data for traveler 170b may include “companion identities” of family members, “beach” as an activity type, and a location identified as a “lake.”
In yet another example, traveler 170c, who is associated lodging 180, may transit to a fourth region (“R4”) 167 to eat at a family-friendly restaurant 184. In this case, location data may be transmitted as traveler in-situ data 136, whereby traveler profile generator 122 may identify the location as associated with a type of restaurant, a type of cuisine, or the like. Thus, examples of traveler attribute data for traveler 170c may include data representing a preference for “family-friendly” restaurants and a location identified as a “restaurant.” Note that travelers 170a, 170b, and 170c may represent the same traveler at different times or locations.
Adaptive advisory engine 124 can, among other things, may influence the direction of movement of a traveler within geographical region 160 to a destination at which the traveler may participate in a preferred activity. Further, adaptive advisory engine 124 may generate customized advisory data 134 for transmission via network 140 mobile computing device 150. In some cases, a representation of customized advisory data may be displayed on a user interface 151 of mobile computing device 150, or otherwise may be configured to influence the computations of an electronic map or route generator based on at least predicted activities derived from travel attributes (e.g., as implemented in a mapping application executed on mobile computing device 150).
To illustrate an example of adaptive advisory engine 124, consider that traveler attribute data (including past and/or present acquired data) is accessed during a visit to geographic location 160. As shown, a traveler (e.g., the user) is staying at lodging 180, which is disposed in first region 161 of geographic region 160. In one example, traveler 170a shares a cab from an airport to lodging 180 during which the identities of colleagues 172 are identified. In some cases, adaptive advisory engine 124 may predict that traveler 170a is on a business trip, and if so, adaptive advisory engine 124 may further predict that golf may be a preferred activity in which to participate with colleagues 172 (e.g., should the weather permit). As such, customized advisory data 134 can be transmitted to mobile computing device 150 to recommend or otherwise influence traveler 170a a round of golf.
As another example, consider that traveler 170b is driving from Austin to Galveston, Tex. During the car trip of about 3½ hours, traveler in-situ data 136 is transmitted to travel customization system 120 via network 140, whereby traveler in-situ data 136 includes one or more identities of spouse 176 and children 174. Further, traveler in-situ data 136 may also include location coordinates that coincide or are adjacent to Galveston Beach (e.g., “beach-going” identified as a traveler attribute). Therefore, adaptive advisory engine 124 may access traveler profile data indicating that when traveler 170b is accompanied on a trip to geographic location 160, which includes a beach 182. Then, adaptive advisory engine 124 may predict that “going to the beach” may be a desired activity for the family of traveler 170b. As such, customized advisory data 134 may include cause a representation (e.g., an icon, an electronic message, an electronic SMS text message, etc.) to be presented on user interface 151 providing localized information (e.g., a recommendation to visit the beach).
Adaptive advisory engine 124 may predict a next activity based on a relationship between location coordinates at which a mobile computing device resides (e.g., coordinates of beach 182 relative to coordinates of restaurant 184) and a travel attribute, such as a restaurant type or other meal type. Adaptive advisory engine 124 may generate customized advisory data 134 configured to cause presentation of a representation linked to customized advisory data 134 to influence a family to participate in a next activity. For example, consider that the local time is 5:00 pm at beach 182 for the family in the previous beach-trip example. Note that 5 pm is a typical time at which traveler 170c dines. Based on traveler attribute data (e.g., a “family friendly” type associated with the user), adaptive advisory engine 124 can determine restaurant 184 as preferred restaurant at which to take the family. As such, customized advisory data 134 may include data configured to change electronic navigation calculations or computations to determine a route 198 as a function of, for example, user-specific traveler attribute data. Thus, traveler 170b, spouse 176, and children 174 may receive real-time recommendations that are suitable for, or is otherwise tailored to, one or more members of the family.
Adaptive advisory engine 124 may further predict a next activity in which a traveler may engage based on data representing an aggregate activity in which multiple other travelers are participating (or desire to participate). As travel customization system 120 has insight into a subset of a population staying in geographic location 160, adaptive advisory engine 124 may generate a recommendation to a traveler to participate in a popular activity. For example, consider that a number of other travelers 179 staying at other lodging facilities 183 have visited, or are visiting, restaurant 184. Based on the aggregation of other travelers' behavior, customized advisory data 134 can include data configured to change navigation calculations to determine a route 196 as a function of, for example, aggregated traveler attribute data. Thus, traveler 170c (with or without spouse 176 and children 174) may be provided real-time recommendations that may be of interest to traveler 170c.
In some examples, a travel application 152 residing on mobile computing device 150 may be configured to perform in-situ data acquisition 109 in accordance with an example of a travel timeline 102. For example, traveler in-situ data 136 may be received to determine traveler attributes during in-travel durations 108 of time as described above. Further, in-situ data acquisition 109 may be performed during an estimated time of transit 106, which may be determined as a difference between an estimated departure time 105 (e.g., depending on a mode of transportation) and an arrival time 107. Note that travel application 152 is configured to receive accelerometer data, GPS (or other location) data, and motion data to determine, for example, a rate of speed. So if a traveler is expected to arrive in Galveston, Tex. at 7 pm, and location and movement data indicates a rate of travel of 65 mph, then the traveler is likely in a car. As such, in-situ data acquisition 109 may probe whether traveler (e.g., mobile computing device 150) is driving with others (e.g., other identifiable mobile computing devices) to determine whether the travel is for business or vacation, and other predictive information. By contrast, if the traveler is transiting by plane, travel application 152 is configured to detect a “plane mode” of operation and is further configured to initiate in-situ data acquisition 109 upon landing at 107. In some cases, travel application 152 may periodically data log location and time during pre-arrival 104 to gather data (e.g., preferred restaurant types and activities) prior to travel to predict preferential activities at geographic location 160.
In view of the foregoing, the structures and/or functionalities of travel customization system 120 can facilitate communication regarding preferred activities for a traveler so that the traveler's efforts and time during travel are minimally or negligibly impacted. In accordance with various embodiments, a preferential activity for a traveler can be predicted based on traveler attribute data, including, but not limited to, companion data, types of trips for certain destinations (e.g., business, vacation, extended family-visits, etc.), types of activities in which the traveler participates, meal types, lodging types, and relationship data that relate the above-described traveler attribute data. Note that according to various embodiments, travel customization system 120 can predict a next activity based on a first activity (or other prediction pattern data specifying a likelihood of performing one activity based on an occurrence of an earlier activity). Further, travel customization system 120 can predict a preferential activity based on aggregation of other traveler data (e.g., other travelers' attributes, locations, etc.), and can generate customized advisory data to navigate a traveler to a destination at which the preferential activity may be performed.
In some examples, if a traveler is known to play golf more than other activities at certain locations (e.g., nearby Palm Springs, Pebble Beach, etc.), and if the traveler is known fish at the other locations near water (rather than swimming, surfing, or scuba diving), travel customization system 120 can filter through activities for delivering content based on the traveler's preferences (e.g., travel attributes), as well as the time of day (and/or month or season) and a traveler's location as determined by, for example, travel application 152.
According to at least one example, traveler application 152 may be configured to identify data representing a subset of the travel-related attributes indicative of travel to a geographic region that includes a rented lodging, and responsive to the identification, travel application 152 may activate in-situ travel data acquisition. In another example, traveler customization system 120 may receive data representing a command (e.g., generated by opening a phone or accessing travel application 152) originating at a mobile computing device. The command may be configured to cause transmission of a subset of customized advisory data to the mobile computing device.
Further consider that travel customization system 220 and/or travel application 252 detects a change in a value indicative of a locality-related characteristic to form a modified locality-related characteristic. In this example, consider that a value (e.g., a numeric value) representing “sunny day” or “swimming weather” is changed to a modified value representing “rainy day.” In this case, a next activity (e.g., a “rainy day” activity) may be predicted as a function of the modified locality-related characteristic and data representing a traveler attribute. Further to this example, consider that the traveler attribute includes data representing “viewing a play” as a preferential activity (e.g., a traveler may have visited a play in past travels). As such, travel customization system 220 and/or travel application 252 may determine that “viewing a play” at playhouse 284 in region 267 may be preferred to visiting a water-logged beach 282. Thus, travel customization system 220 and/or travel application 252 may generate customized advisory data including routing data to navigate the family via route 262 to playhouse 284, at which traveler 270b, spouse 276b, and children 274b may view a play. Further, the customized advisory data may cause presentation of a representation 254 on interface 251a of mobile computing device 250a that provides advisory information 255 (i.e., a recommendation to view a play rather than going to beach 282 in region 265). Note that if customized advisory data is received at location 281 in region 263, the customized advisory data may include instructions to modify a direction of travel over route 264.
Diagram 300 includes a travel customization system 320, which, in turn, includes a traveler profile generator 322 and an adaptive advisor engine 324. Note that elements depicted in diagram 300 of
In the example shown, consider that on the way to lodging 380 in region 361, a traveler 370a stops at a tackle and bait store 384 in region 367. Traveler in-situ data determined by travel application 352 can describe a detected travel attribute of “enter sporting goods store,” as an example. Thus, stopping at tackle and bait store 384 may be viewed as performing a first activity. Next, consider that traveler 370a wakes up at 5:00 am the next morning. Travel application 352 is configured to receive accelerometer or motion data indicating traveler 370a is awake. As such, this information can be transmitted as traveler in-situ data determined by travel application 352. In the example shown, adaptive advisor engine 324 is configured to predict a next activity. In some cases, adaptive advisor engine 324 may be configured to detect a performance of a first activity (e.g., traveler 370a stops at a sporting goods store) and then wakes up at 5:00 am, then there is a relatively high likelihood (e.g., 80% chance or greater) that a user intends on going to lake 382 in region 365 to go fishing. Note that data constituting a predictive pattern in this example may include the activity of visiting tackle and bait store 384, or may include both the activity of visiting tackle and bait store 384 and an occurrence in which traveler 370a awakes before 6 am. Thus, adaptive advisor engine 324 may identify a prediction pattern (e.g., stopping at bait store and awaking at 5 am the next morning) that represents a likelihood of a next activity of occurring (e.g., going fishing).
In some examples, as traveler is heading past a golf course at location 381 in region 363, travel customization system 320 and/or travel application 352 may determine that “fishing” at lake 382 may be preferred to golfing. Thus, travel customization system 320 and/or travel application 352 may generate customized advisory data including routing data to navigate traveler 370a via route 362 to lake 382, at which traveler 370a may participate in fishing as a preferential activity. Further, the customized advisory data may cause presentation of a representation 354 on interface 351a of mobile computing device 350a that provides advisory information 355 (i.e., confirm whether traveler 370a is fishing and to remind traveler 370a of related information or activity sub-attributes). Note that if customized advisory data is received at location 381 in region 363, the customized advisory data may include instructions to modify a direction of travel over route 362 or otherwise confirm that the user is not traveling to a golf course.
In various examples, travel attribute repository 412 may include traveler data 431, which includes personal data 432 describing a traveler and trip data 433 as travel attributes. Examples of personal data 432 may include demographic information, such as name, address, marital status, age, gender, presence of children, a dwelling type (e.g., a type and size of a residential house), a range of income, and the like. Examples of trip data 433 includes data indicating types of trips taken (e.g., business trip, vacation, etc.) and pointer or link data associating a trip to other travel attributes for specific destination (e.g., associating a vacation with a spouse, children, types of activities, meal types, types of lodging, etc., which may be used to predict a preferential activity).
Travel attribute repository 412 also may include companion data 435 which may include family data 436a, friend data 436b, and colleague data 436c, and other data types for other companions, such as clients, government officials, tour guides, etc., as travel attributes. Examples of family data 436a include data representing one or more members of the family, each member of the family represented by data indicating a familial relationship, and other travel-related attributes (e.g., whether a child or spouse accompanied a traveler on a trip, and if so, whether the family member also accompanied the traveler to specific activities). Friend data 436b and colleague data 436c include similar data. As an example, friend data 436b may include a subset of friends, all of whom are female, tend to accompany each other once a year to Las Vegas, to a winery, or to a spa. As such, friend data 436b for the group of friends may be associated with destinations that may predict a next trip as “a girls' (or guys′) getaway weekend” trip and related activities. Similarly, colleague data 436c may include different subsets of colleagues, each subset being associated with visiting or traveling to a different client. As such, such travel-related attributes may be used to remind a traveler of certain activities preferred by a certain client, based on the subset of colleagues who are traveling with the traveler.
Travel attribute repository 412 may include lodging data 434, meal data 438, and activity data 437, any or all of which may constitute at least a portion of traveler attribute data. Examples of lodging data 434 include data representing characteristics of various lodging accommodations associated with a traveler, such as a type of lodging (e.g., a house, condo, a cabin, etc.), a number of bedrooms, a presence of the kitchenette, whether in walking distance of local attractions, whether pets are permitted, etc. Examples of meal data 438 include types of restaurants (e.g., family-friendly, fine dining, etc.), types of cuisine, hours of operation, relative distance or location to a lodging, etc. Examples of activity data 437 include data representing activities, such as surfing, snorkeling, golfing, boat or Jet Ski rental, fishing, working out, fitness training, running paths, horseback riding, cycling, etc., as well as data representing participation in events, such as weddings, carnivals, regattas, fishing tournaments, poker championships, holiday festivities, etc. Travel attribute repository 412 may also be used to store category data 439, which includes data describing category tags associated with a traveler to categorize a traveler relative to various activities and other travel-related aspects. According to some examples, travel attribute repository 412 may also include similar data for other travelers, as well as data representing an aggregation of travelers (e.g., stored in an anonymized manner).
Data and other information for forming traveler profile data 440 may be sourced from a variety of data sources. In some examples, data for forming or otherwise identifying travel attributes may be extracted from streams of data by a traveler data extractor 408. According to some examples, traveler data extractor 408 is configured to access various sources of data and parse through data streams (e.g., text or alpha-numeric strings) to atomize sources of data into items (e.g., into words) that can be used to determine attributes (e.g., travel-related attributes) associated with an activity, a location, a time frame, a traveler, an aggregated set of data for a group of travelers, and the like. According to some examples, correlator 424 may be configured to correlate items associated with atomized data and/or tags to linked atomized data with an item tag (or association data). In some examples, traveler data extractor 408 can be configured to extract symbolic data (e.g., atomize or other units of data or information) that describe, for instance, an activity or location of an activity. Correlator 424 may be configured to correlate one or more subsets of the symbolic data (e.g., data representing strings of test, location coordinates, timestamps, etc.) to data representing an item tag.
In one example, traveler attribute data can be extracted from externally-sourced data 401, which may originate from any publicly-available database (e.g., any web-based source, including governmental databases, etc.) or restricted-access databases (e.g., data from a credit score rating facility that typically maintains data on household income, marital status, education levels, dwelling/residence type, value of home, number of adults, length of residence, size of family, number of dependents, etc.). In another example, traveler attribute data can be extracted from traveler in-situ data 403, which may include location coordinates, timestamp data (e.g., associated with groups of location coordinates), and other locality-related data (e.g., a temperature or weather conditions during which a traveler participated in a specific activity). Further, traveler in-situ data 403 may include data representing user interactions on a mobile computing device (not shown), such as the results of a web search (e.g., searching for golf courses), a summary of telephone numbers called that are associated with a geographic region (e.g., a restaurant that was called), and other user interaction-related data. Traveler data extractor 408 may be configured to extract item data from these types of traveler in-situ data 403 as well.
Traveler attribute data can be extracted from data 456, which may represent data input by a user 450 via a computing device 452 to secure a rental property for a specific time frame and purpose. Moreover, traveler attribute data can be extracted from destination data stored in a repository 419 coupled to a destination manager 421, which may be implemented in a computing device, to maintain and provide access to data associated with one or more rental properties available for lodging in a private, secured network of a travel customization system (not shown). For example, destination data may include accommodation data 460, which may include lodging characteristics and information about available rental properties, restaurant data 464, which may include types of restaurants and cuisine as provided by a rental property owner, and activity data 462, which may include types of activities as provided by one or more rental property owners. While diagram 400 describes a number of sources for obtaining traveler attributes, traveler profile generator 422 may receive data from any number of sources and is not limited to those shown or discussed relative to
To illustrate operation of correlator 524 and its constituent components, consider the following example. Traveler in-situ data 503 may include streams of data 505 that include, for example, instances of time 511 and 515 (e.g., timestamps indicating one or more of a year (“Y”), a month (“M”), a day (“D”), an hour (“H”), a minute (“M”), and a second (“S”)), instances of location 512 and 515 (e.g., GPS and/or longitudinal and latitudinal coordinates), and instance of companionship 513 and 516 (e.g., data representing identities of companions present during instances of time 511 and 515, respectively). Correlation control data 502 include data parameters used to define an activity (or other travel attributes) based on at least time and/or location data. For example, a traveler may visit a group of location coordinates associated with a golf course, but depending on an amount of time spent there, the traveler may be not be golfing but rather using a driving range, purchasing golf accessories, or having lunch with a friend. As such, correlation control data 502 specifies the types of activities associated with a location as a function of, for example, an amount of time or other travel-related data (e.g., companionship travel attributes, etc.).
Item identifier 525 may receive externally-sourced data 501 that describes a group of location coordinates that substantially coincide with instances of location 512, and further identifies a golf course named “Bluebonnet Hill Golf Course” on Decker Lane in Austin, Tex. As shown, instances of time 511 indicate that a traveler is at the golf course from 12:00 pm to 2:45 pm, and, as such, item identifier 525 associates golf course identifier 517 to a group of location coordinates 512a. Further, item identifier 525 may receive other externally-sourced data 501 that describes another group of location coordinates that substantially coincides with instances of location 514, which identify a restaurant named “Rudy's Texas Bar-B-Q” in Round Rock, Tex. As shown, instances of time 514 indicate that the traveler is at a restaurant from 5:00 pm to 6:35 pm, and, as such, item identifier 525 associates restaurant identifier 518 to a group of location coordinates 515a.
Correlation control data 502 may define instances of location 512 to be coterminous with a golf course for at least 2 hours to attribute an activity associated with the location coordinates to a “round of golf” As traveler spent 2½ hours at a golf course, then item tag generator 527 may be configured to tag golf course identifier 517 with a golf activity item tag 580, thereby indicating that location coordinates 512a can coincide with a golfing activity for predicting an preferential activity presently or subsequently. Further, correlation control data 502 may define instances of location 514 to be coterminous with a restaurant for at least 1 hour to attribute an activity associated with the location coordinates to a “having dinner.” As traveler spent 1½ hours at a restaurant, then item tag generator 527 may be configured to tag restaurant identifier 518 with a meal type item tag 582, thereby indicating that location coordinates 515a can coincide with a meal for predicting an preferential restaurant presently or subsequently.
Attribute correlator 537 is configured to correlate other attribute data to form correlated attribute data 539. For example, consider that two colleagues golfed with the traveler, whereby the identities of the colleagues are indicated as data representing companion (“COM1”) 586a and companion (“COM3”) 586b. Attribute correlator 537 may be configured to correlate or associate companion data 586a and 586b to data representing tag (“golf companion”) 518a and tag (“golf companion”) 581b, respectively. By identifying the colleagues as golf companions, a future activity may be predicted if those same colleagues are again identified in a later business trip. Similarly, attribute correlator 537 may be configured to correlate or associate the identities of family members with whom the traveler is dining. In this example, attribute correlator 537 may be configured to correlate or associate companion data 588a (e.g., a spouse identified as COM2) and companion data 588b (e.g., a child identified as COM4) to data representing tag (“meal companion”) 583a and tag (“meal companion”) 583b, respectively.
Note that attribute correlator 537 may also be configured to predict a travel attribute or a portion thereof. For example, next time the traveler is engage in a first activity (e.g., visiting a beach) along with a spouse and child adjacent to a BBQ restaurant, a travel customization system may predict a preference for the BBQ restaurant. Note further that correlator 524 may be configured to generate correlated data 556 that includes any type of correlations or associations between attributes and/or item data for travel attributes, and that correlator 524 is not limited to the examples described above.
Further to diagram 600, category tag generator 628 may be configured to identify a category type to which category tag belongs. Examples of category types include a trip category type 603 that describes the type of travel (e.g., whether travel is for vacation, a business trip, relaxation, adventure, a friend getaway, etc.), and an activity category type 605 that describes a type of activity in which the traveler likely participate (e.g., golf, attending a ballgame, beachcombing, antiquing, jet skiing, etc.). Examples of other category types include a meal category types 607 that describes the type of meal a traveler likely may consume (e.g., a meal relating to casual dining, Mexican cuisine, fine dining, a meal at a child-friendly restaurant type, seafood, etc.), and include lodging category type 609 that specify lodging characteristics preferred by a traveler for purposes of, for example, presenting customized listings of rental properties for future travel (e.g., whether lodging is associated with a condo, a size of four bedrooms, presence of a kitchenette, stairs are absent (for elderly or disabled travelers), presence of a laundry, etc.). Examples for another category type include a companion category type 611 that describes a type of companion that may accompany a traveler on a trip (e.g., a trip taken as an individual, a spouse-centric trip or a “couple getaway,” a family-centric trip, a trip with a group of friends identified as “friend group 3,” a trip with one or more colleagues, etc.).
Note that one or more category tags may be associated with data representing value 615 indicative of a degree of relevancy. For example, analyzer 627 can determine the frequency in which a certain travel type 603 occurs, or a certain activity type 605 occurs, or a certain companion type 611 occurs. Based on the frequency (or any other parameter), category tag generator 628 may also assign a degree of relevancy 615 to prioritize a selection and/or presentation of one or more subsets of customized advisory data should, for example, multiple activities may be preferential. For example, a traveler may include travel attribute data that specifies both a golfing activity and a fishing activity. To optimize the most appropriate information presented to the traveler, a degree of relevancy associated with golfing may be of greater value than that associated with fishing. Therefore, an adaptive advisory engine may predict a traveler may be more inclined to golf than fish as preferential activity and thus can generate customized advisory data directing a traveler to a golf course.
Adaptive advisory engine 722 may be configured to access traveler profile data 440 that may originate from a memory (not shown) storing data representing travel attributes associated with a user. Adaptive advisory engine 722 also may be configured to identify data representing a portion of traveler attributes that are associated with a geographic region (e.g., an approximate location that includes lodging for a traveler). In some examples, the portion of traveler attributes describes data representing a subset of activities or restaurants that a traveler may prefer when traveling to particular region. The portion of traveler attributes may be included in traveler profile data 440 and/or in traveler in-situ data 705 received from a mobile computing device collocated with a user and the geographic region.
Adaptive advisory engine 722 may also receive locality-related data 703 indicative of locality-related characteristics for the geographic region. In this example, locality-related data 703 may include data representing local weather forecast data 770 for the geographic region, hazard/alert data 772 indicating hazards occurring in the geographic region (e.g., “Boil Water” advisory, or a “no swimming” advisory at the beach due to sewage spill, etc.). Adaptive advisory engine 722 may receive traveler in-situ data 705, which may include location coordinates and/or time stamps as logged or determined by, for example, a traveler application disposed on a mobile computing device. Note that in some examples, traveler in-situ data 705 may include locality-related data 703 (or vice versa).
Instance predictor 724 of adaptive advisory engine 722 may be configured to predict an activity as a function of a locality-related characteristic and data representing a travel attribute. In one example, a locality-related characteristic may be predicted rainfall at the geographic region, and the travel attribute may be indicative of beach-going as an activity. In another example, locality-related characteristics may be a location and the travel attribute may be indicative of golfing is an activity. Data channelizer 726 may be configured to customized advisory data 740 that may be configured to cause presentation of a representation linked to (e.g., associated with) the customized advisory data to engage in the first activity. Further, customized advisory data 740 may include data and/or executable instructions to cause modification in direction of travel or navigation to a predicted preferential activity. In some examples, adaptive advisory engine 722 can channelize a traveler “away” from a preferred activity of swimming should a “no swimming” advisory be in effect.
According to some examples, adaptive advisory region 722 may receive data from a data aggregator 730 for predicting preferential activity to which a traveler may be directed. Data aggregator 730 includes a travel data aggregator 721 that is configured to aggregate data, including travel attributes, of other travelers (e.g., aggregated data based on other travelers' profile data 704a, 704b, 704c, . . . 704n). In some cases, travel data aggregator 721 may be configured to receive other traveler in-situ data 745 originating from, for example, a geographic region including the traveler. Further, travel data aggregator 721 may be configured to form aggregated traveler data for storage in an aggregated travel attribute repository 712. Note that travel data aggregator 721 may suppress or otherwise remove identities of other travelers so as to form “anonymized” aggregate traveler data.
In one example, travel data aggregator 721 may receive data indicative of other traveler data that indicates participation of other travelers in an activity in a geographic region, and further may form aggregated traveler data. Data channelizer 726 may generate a subset of customized advisory data 740 based on the aggregated traveler data. For example, consider that aggregated traveler indicates that a number of other travelers are participating in a fishing competition. As such, content (e.g., notifications of charter boat rentals, etc.) may be channelized or otherwise delivered electronically to the traveler as customized advisory data. But, in some cases, if too many people are participating in the fishing competition, data channelizer 726 may advise or otherwise predict a round of golf as an alternate activity to avoid the crowds that are fishing.
Note that data channelizer 726 can generate customized advisory data 740 based on destination 719 to channelize a potential traveler to a subset of rental listings that are associated with lodging characteristics or other travel attributes that may be preferable to a traveler.
According to some examples, instance predictor 824 may include one or more logic modules implemented as activity predictor 830, meal predictor 832, lodging predictor 834, or other predictor 838, including a collaborative predictor configured to predict one or more companions with which to participate in an activity. In the example shown, activity predictor 830 can be configured to determine a probability, “P(activity),” may occur based on at least of value, “V,” as a function of, for example, a region, a time frame, and set of companions. In some examples, the value, V, may be derived from prediction patterns indicating greater probabilities based on greater number of sequenced occurrences of activities that constitute a likely activity. For example, the probability of snow skiing may be relatively high in a region including Aspen, Colo., during the winter season, and with a set of companions that ski frequently, whereas the probability of snow skiing may be relatively low in the same region during the month of August (i.e., the summer season). Optionally, the probability of an activity may be determined by one or more weighting factors, such as a weighting factor one (“w1”) and a weighting factor two (“w2”). In some cases, weighting factor one can represent a value indicative of a degree of relevancy. Further to the previous snow skiing example, if a person or companions have no record of skiing, then they may be up to view a film festival in Aspen rather than snow skiing. Thus, in their case, the probability of snow skiing may be driven to a relatively low probability by a low weighting value due to an absent record of skiing.
In another example, other predictor 838 may be configured to generate customized advisory data 840 based on a relationship between a group of location coordinates and a travel attribute. For example, other predictor 838 may be configured to determine a relationship between the location coordinates at which an activity may occur (e.g., via GPS coordinates) and a travel attribute (e.g., an activity tag specifying “beach-going”linked or associated to the location coincident with the location coordinates). Further, other predictor 838 may identify a next activity based on the relationship between the location coordinates of a present activity and the travel attribute. Data channelizer 826 then can generate a next subset of customized advisory data 840 that may be configured to cause presentation of a representation linked to other customized advisory data to engage a user in a next activity.
In yet another example, other predictor 838 may be configured to receive data indicative of a presence of a subset of other mobile computing devices as a subset of locality-related characteristics (e.g., other identifiers associated with the other mobile computing devices, such as MAC IDs). Other predictor 838 then may match data representing a tag for travel attribute against another tag for a subset of companion identities associated with the other mobile computing devices. As such, other predictor 838 may predict an activity based on data representing a subset of companion identities.
In some cases, computing platform can be disposed in wearable device or implement, a mobile computing device 1290b, or any other device, such as a computing device 1290a.
Computing platform 1200 includes a bus 1202 or other communication mechanism for communicating information, which interconnects subsystems and devices, such as processor 1204, system memory 1206 (e.g., RAM, etc.), storage device 1208 (e.g., ROM, etc.), a communication interface 1213 (e.g., an Ethernet or wireless controller, a Bluetooth controller, etc.) to facilitate communications via a port on communication link 1221 to communicate, for example, with a computing device, including mobile computing and/or communication devices with processors. Processor 1204 can be implemented with one or more central processing units (“CPUs”), such as those manufactured by Intel® Corporation, or one or more virtual processors, as well as any combination of CPUs and virtual processors. Computing platform 1200 exchanges data representing inputs and outputs via input-and-output devices 1201, including, but not limited to, keyboards, mice, audio inputs (e.g., speech-to-text devices), user interfaces, displays, monitors, cursors, touch-sensitive displays, LCD or LED displays, and other I/O-related devices.
According to some examples, computing platform 1200 performs specific operations by processor 1204 executing one or more sequences of one or more instructions stored in system memory 1206, and computing platform 1200 can be implemented in a client-server arrangement, peer-to-peer arrangement, or as any mobile computing device, including smart phones and the like. Such instructions or data may be read into system memory 1206 from another computer readable medium, such as storage device 1208. In some examples, hard-wired circuitry may be used in place of or in combination with software instructions for implementation. Instructions may be embedded in software or firmware. The term “computer readable medium” refers to any tangible medium that participates in providing instructions to processor 1204 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks and the like. Volatile media includes dynamic memory, such as system memory 1206.
Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read. Instructions may further be transmitted or received using a transmission medium. The term “transmission medium” may include any tangible or intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such instructions. Transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 1202 for transmitting a computer data signal.
In some examples, execution of the sequences of instructions may be performed by computing platform 1200. According to some examples, computing platform 1200 can be coupled by communication link 1221 (e.g., a wired network, such as LAN, PSTN, or any wireless network, including WiFi of various standards and protocols, Blue Tooth®, Zig-Bee, etc.) to any other processor to perform the sequence of instructions in coordination with (or asynchronous to) one another. Computing platform 1200 may transmit and receive messages, data, and instructions, including program code (e.g., application code) through communication link 1221 and communication interface 1213. Received program code may be executed by processor 1204 as it is received, and/or stored in memory 1206 or other non-volatile storage for later execution.
In the example shown, system memory 1206 can include various modules that include executable instructions to implement functionalities described herein. System memory 1206 may include an operating system (“O/S”) 1232, as well as an application 1236 and/or logic module(s) 1259. In the example shown, system memory 1206 includes a traveler profile generator module 1250 including an analyzer module 1252 and a categorizer module 1254. System memory 1206 also includes an adaptive advisory engine module 1256, which includes an instance predictor module 1257 and a data channelizer module 1258, one or more of which can be configured to provide or consume outputs to implement one or more functions described herein.
In at least some examples, the structures and/or functions of any of the above-described features can be implemented in software, hardware, firmware, circuitry, or a combination thereof. Note that the structures and constituent elements above, as well as their functionality, may be aggregated with one or more other structures or elements. Alternatively, the elements and their functionality may be subdivided into constituent sub-elements, if any. As software, the above-described techniques may be implemented using various types of programming or formatting languages, frameworks, syntax, applications, protocols, objects, or techniques. As hardware and/or firmware, the above-described techniques may be implemented using various types of programming or integrated circuit design languages, including hardware description languages, such as any register transfer language (“RTL”) configured to design field-programmable gate arrays (“FPGAs”), application-specific integrated circuits (“ASICs”), or any other type of integrated circuit. According to some embodiments, the term “module” can refer, for example, to an algorithm or a portion thereof, and/or logic implemented in either hardware circuitry or software, or a combination thereof. These can be varied and are not limited to the examples or descriptions provided.
In some embodiments, a traveler profile generator and/or an adaptive advisory engine module 1256, or one or more of their components, or any process or device described herein, can be in communication (e.g., wired or wirelessly) with a mobile device, such as a mobile phone or computing device, or can be disposed therein.
In some cases, a mobile device, or any networked computing device (not shown) in communication with a traveler profile generator and/or an adaptive advisory engine module 1256, or one or more of their components (or any process or device described herein), can provide at least some of the structures and/or functions of any of the features described herein. As depicted in the above-described figures, the structures and/or functions of any of the above-described features can be implemented in software, hardware, firmware, circuitry, or any combination thereof. Note that the structures and constituent elements above, as well as their functionality, may be aggregated or combined with one or more other structures or elements. Alternatively, the elements and their functionality may be subdivided into constituent sub-elements, if any. As software, at least some of the above-described techniques may be implemented using various types of programming or formatting languages, frameworks, syntax, applications, protocols, objects, or techniques. For example, at least one of the elements depicted in any of the figure can represent one or more algorithms. Or, at least one of the elements can represent a portion of logic including a portion of hardware configured to provide constituent structures and/or functionalities.
For example, a traveler profile generator and/or an adaptive advisory engine module 1256, or one or more of their components, or any process or device described herein, can be implemented in one or more computing devices (i.e., any mobile computing device, such as a wearable device, an audio device (such as headphones or a headset) or mobile phone, whether worn or carried) that include one or more processors configured to execute one or more algorithms in memory. Thus, at least some of the elements in the above-described figures can represent one or more algorithms. Or, at least one of the elements can represent a portion of logic including a portion of hardware configured to provide constituent structures and/or functionalities. These can be varied and are not limited to the examples or descriptions provided.
As hardware and/or firmware, the above-described structures and techniques can be implemented using various types of programming or integrated circuit design languages, including hardware description languages, such as any register transfer language (“RTL”) configured to design field-programmable gate arrays (“FPGAs”), application-specific integrated circuits (“ASICs”), multi-chip modules, or any other type of integrated circuit.
For example, a traveler profile generator and/or an adaptive advisory engine module 1256, or one or more of their components, or any process or device described herein, can be implemented in one or more computing devices that include one or more circuits. Thus, at least one of the elements in the above-described figures can represent one or more components of hardware. Or, at least one of the elements can represent a portion of logic including a portion of circuit configured to provide constituent structures and/or functionalities.
According to some embodiments, the term “circuit” can refer, for example, to any system including a number of components through which current flows to perform one or more functions, the components including discrete and complex components. Examples of discrete components include transistors, resistors, capacitors, inductors, diodes, and the like, and examples of complex components include memory, processors, analog circuits, digital circuits, and the like, including field-programmable gate arrays (“FPGAs”), application-specific integrated circuits (“ASICs”). Therefore, a circuit can include a system of electronic components and logic components (e.g., logic configured to execute instructions, such that a group of executable instructions of an algorithm, for example, and, thus, is a component of a circuit). According to some embodiments, the term “module” can refer, for example, to an algorithm or a portion thereof, and/or logic implemented in either hardware circuitry or software, or a combination thereof (i.e., a module can be implemented as a circuit). In some embodiments, algorithms and/or the memory in which the algorithms are stored are “components” of a circuit. Thus, the term “circuit” can also refer, for example, to a system of components, including algorithms. These can be varied and are not limited to the examples or descriptions provided.
In the example shown, a proprietor 1372 accesses travel customization 1320 via a computing device 1373. In this case, proprietor 1372 is an owner of a golf course 1381 in region 1363, and generates a request to communicate to travelers having travel attributes matched to activity characteristics defined in data 1331a. The activity characteristics may define a golfing activity. A proprietor 1376 accesses travel customization 1320 via a computing device 1377. In this case, proprietor 1376 is an owner of a restaurant 1384 in region 1367, and generates a request to communicate to travelers having travel attributes matched to activity characteristics defined in data 1331b. The activity characteristics may define a meal or an eatery at which the traveler may be predicted to have a meal. A proprietor 1378 accesses travel customization 1320 via a computing device 1379. In this case, proprietor 1378 is an owner of a jet ski rental shop in region 1365 (adjacent to beach 1382), and the proprietor generates a request to communicate to travelers having travel attributes matched to activity characteristics defined in data 1331c. The activity characteristics in data 1331c may define a water-based activity in which the traveler may be predicted to participate.
In view of the foregoing, targeted data channelizer 1334 is configured to determine dictate activities for a subset of users or travelers, and is further configured actively channelize the subset of users or travelers to specific activities as associated with targeted locations. As such, travel customization system 1320 may leverage data describing traveler attributes for a pool of travelers likely require goods and services may can be obtained in geographic region 1316 during their stay at lodging 1380. In some examples, targeted data channelizer 1334 can generate customized advisory data 1335 as part of a targeted search results (e.g., targeted data channelizer 1334 may facilitate targeted searching as a function of an adaptive advisory search engine 1324).
Further to diagram 1400, adaptive advisory engine 1422 may also include a targeted data channelizer 1426, which, in turn, may include an activity characteristic matcher 1434 and a customized advisory selector 1436. Targeted data channelizer 1426 operates to receive proprietor data 1409 to channelize travelers to activities or destinations associated with a particular proprietor. Proprietor data 1409 can be generated by, for example, extracting proprietor data 1408 from a digital request entered by proprietor 1450 via computing device 1452 or from externally-sourced data 1401. Proprietor data extractor 1408 may be configured to operate similar to traveler data extractor 408 of
According to some embodiments, data representing a request to implement data representing an identifier for a destination to generate customized advisory data for a subset of users may be received by a proprietor data extractor 1408 or adaptive advisory engine 1422. The data (e.g., proprietor data 1409) representing a request may include data defining activity characteristics at the destination associated with a geographic region. For example, data defining activity characteristics can include golfing and golfing-related characteristics, jet skiing and other water-related characteristics, and meal characteristics, including restaurant type and cuisine type. Further, adaptive advisory engine 1422 can fetch data representing traveler attributes (e.g., for a pool of travelers) as part of traveler profile data 440 and/or aggregated traveler profile data. Activity characteristic matcher 1434 may be configured to match activity characteristics (e.g., of one or more requests) against subsets of traveler attributes to identify a subset of users associated with the geographic region (e.g., in which lodging for the subset of the users resides).
Customized advisory selector 1436 may be configured to identify customized advisory data configured to cause presentation of a representation (e.g., linked or associated to the customized advisory data) to urge engagement in an activity at the destination. For example, customized advisory selector 1436 may select customized advisory data specifying “golfing,” as an activity, is available at a destination coinciding with that of a proprietor. Targeted data channelizer 1426 may further be configured to transmit customized advisory data (e.g., regarding golf) to one or more mobile computing devices associated with a targeted subset of users. According to some examples, data representing a link to customized advisory data for a next activity (e.g., a targeted activity) may cause presentation of an icon configured to be displayed on a user interface of the one or more mobile computing devices. The customized advisory data can constitute advertisement information to urge participation in an activity, according to some examples.
Instance predictor 1424 may be configured to predict an activity (e.g., a next activity) based on a relationship between location coordinates at which a mobile computing device resides and a travel attribute to form data representing a predicted activity. Activity characteristic matcher 1434 may be configured to match at least an activity characteristic associated with the activity against the traveler attribute to identify a subset of the customized advisory data, whereby data representing a next link to other customized advisory data may be transmitted to a mobile computing device associated with a traveler targeted by a proprietor 1450.
According to at least one example, activity characteristic matcher 1434 may be configured to match activity characteristics against a subset of category tags, which may include data representing one or more of a trip type, an activity type, a meal type, a lodging type, and a companion type. Further, activity characteristic matcher 1434 may operate to detect a match between an activity characteristic and one or more category tags, and customized advisory selector 1436 may be configured to select an electronic message to transmit to a mobile computing device to thereby channelize the electronic message to a traveler associated with the mobile computing device. In at least one example, customized advisory selector 1436 may determine a degree of relevancy for two or more category tags (e.g., two or more category tags including a trip type, a activity type, a meal type, a lodging type, and a companion type) and select an electronic message to transmit to the mobile computing device based on the degree of relevancy.
By reserving one or more category tags, for example, to target specific travelers, a proprietor may reserve access to the specific travelers. Thus, other proprietors are restricted in their ability to access specific travelers associated with the reserved one or more category tags. In view of the foregoing, a targeted channelizer 1426 can facilitate a merchant advertising platform configured to target travelers as interested parties.
Although the foregoing examples have been described in some detail for purposes of clarity of understanding, the above-described inventive techniques are not limited to the details provided. There are many alternative ways of implementing the above-described invention techniques. The disclosed examples are illustrative and not restrictive.