SYSTEMS AND METHODS TO SUGGEST TRAVEL ITINERARIES BASED ON USERS' CURRENT LOCATION
First Claim
1. A method comprising:
- receiving, using a computing device, from a user device, a request for a travel itinerary, the request comprising a starting location and an ending location within a geographic area and a time constraint;
retrieving, using the computing device, a travel graph for the geographic area, the travel graph comprising a plurality of nodes, each respective node corresponding to a respective one point-of-interest of a plurality of points of interest, where each respective node of the plurality of nodes is associated with respective node level data comprising a respective location, a plurality of travel times between the respective node and at least a subset of the plurality of nodes, a respective popularity score for the node, a respective number of users visiting the node and a respective average time spent by users at the respective node;
calculating, using the computing device, respective prize score for each node of the plurality of nodes;
selecting, using the computing device, a first node of the plurality of nodes that is nearest to the starting locationselecting, using the computing device, a second node of the plurality of nodes that is nearest to the ending locationdetermining, using the computing device, a travel itinerary using the travel graph and the respective prize scores for each of the plurality of nodes, such that the travel itinerary comprises the first node of the plurality of nodes, the second node of the plurality of nodes and a plurality of additional nodes selected from the plurality of nodes, where the plurality of additional nodes are selected from the plurality of nodes such that a total prize score for the plurality of additional nodes is maximized within the time constraint; and
providing, using the computing device, a representation of the travel itinerary to the user device.
9 Assignments
0 Petitions
Accused Products
Abstract
Data relating to points-of-interest for a geographical area are retrieved from, for example, a travel site. Geo-tagged data relating to the points-of-interest are retrieved, for example, images from an image sharing service. Travel times between the points-of-interest are determined, for example, using a mapping service. The data relating to the points of interest, the geo-tagged data and the travel times are used to create a travel graph for the geographical area, such that the geo-tagged data is used to determine time users spend at specific points of interest. If a user requests a travel itinerary for a beginning and ending location within the geographical area, the travel graph is used to create a travel itinerary that maximizes a prize score for the itinerary within a time constraint. The prize score can reflect the popularity, number of users and time spent by users at the points-of-interest in the itinerary.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, using a computing device, from a user device, a request for a travel itinerary, the request comprising a starting location and an ending location within a geographic area and a time constraint; retrieving, using the computing device, a travel graph for the geographic area, the travel graph comprising a plurality of nodes, each respective node corresponding to a respective one point-of-interest of a plurality of points of interest, where each respective node of the plurality of nodes is associated with respective node level data comprising a respective location, a plurality of travel times between the respective node and at least a subset of the plurality of nodes, a respective popularity score for the node, a respective number of users visiting the node and a respective average time spent by users at the respective node; calculating, using the computing device, respective prize score for each node of the plurality of nodes; selecting, using the computing device, a first node of the plurality of nodes that is nearest to the starting location selecting, using the computing device, a second node of the plurality of nodes that is nearest to the ending location determining, using the computing device, a travel itinerary using the travel graph and the respective prize scores for each of the plurality of nodes, such that the travel itinerary comprises the first node of the plurality of nodes, the second node of the plurality of nodes and a plurality of additional nodes selected from the plurality of nodes, where the plurality of additional nodes are selected from the plurality of nodes such that a total prize score for the plurality of additional nodes is maximized within the time constraint; and providing, using the computing device, a representation of the travel itinerary to the user device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
retrieving, using a computing device, point-of-interest data relating to a plurality of points of interest within a geographic area, the point-of-interest data comprising, for each point-of-interest of the plurality of points of interest, a respective popularity score and a respective location; retrieving, using the computing device, geo-tagged data comprising a plurality of geo-tagged objects, each geo-tagged object of the plurality of geo-tagged objects relating to a respective one point-of-interest of the plurality of points of interest and comprising a respective date and time and a respective one user of a plurality of users; determining, using the computing device, using the geo-tagged data, for each point-of-interest of the plurality of points of interest, a respective average time spent by the plurality of users at the respective point-of-interest, determining, using the computing device, a plurality of travel times, each respective travel time of the plurality of travel times comprising a travel time between a respective first one point-of-interest of the plurality of points-of-interest and a respective second one point-of-interest of the plurality of points-of-interest; and creating, using the computing device, a travel graph for the geographical location based on the point-of-interest data, the respective average time spent by the plurality of users at each respective point-of-interest and the plurality of travel times, such that the travel graph comprises a plurality of nodes, each respective node corresponding to a respective one point-of-interest of the plurality of points of interest, where each respective node of the plurality of nodes is associated with respective node level data, comprising a respective location, a plurality of travel times between the respective node and at least a subset of the plurality of nodes, a respective popularity score for the node, a respective number of users visiting the node and a respective average time spent by users at the respective node. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage media for tangibly storing thereon computer readable instructions for a method comprising:
-
receiving from a user device, a request for a travel itinerary, the request comprising a starting location and an ending location within a geographic area and a time constraint; retrieving a travel graph for the geographic area, the travel graph comprising a plurality of nodes, each respective node corresponding to a respective one point-of-interest of a plurality of points of interest, where each respective node of the plurality of nodes is associated with respective node level data comprising a respective location, a plurality of travel times between the respective node and at least a subset of the plurality of nodes, a respective popularity score for the node, a respective number of users visiting the node and a respective average time spent by users at the respective node; calculating respective prize score for each node of the plurality of nodes; selecting a first node of the plurality of nodes that is nearest to the starting location selecting a second node of the plurality of nodes that is nearest to the ending location determining a travel itinerary using the travel graph and the respective prize scores for each of the plurality of nodes, such that the travel itinerary comprises the first node of the plurality of nodes, the second node of the plurality of nodes and a plurality of additional nodes selected from the plurality of nodes, where the plurality of additional nodes are selected from the plurality of nodes such that a total prize score for the plurality of additional nodes is maximized within the time constraint; and providing a representation of the travel itinerary to the user device.
-
-
18. A non-transitory computer readable storage media for tangibly storing thereon computer readable instructions for a method comprising:
-
retrieving point-of-interest data relating to a plurality of points of interest within a geographic area, the point-of-interest data comprising, for each point-of-interest of the plurality of points of interest, a respective popularity score and a respective location; retrieving geo-tagged data comprising a plurality of geo-tagged objects, each geo-tagged object of the plurality of geo-tagged objects relating to a respective one point-of-interest of the plurality of points of interest and comprising a respective date and time and a respective one user of a plurality of users; determining using the geo-tagged data, for each point-of-interest of the plurality of points of interest, a respective average time spent by the plurality of users at the respective point-of-interest, determining a plurality of travel times, each respective travel time of the plurality of travel times comprising a travel time between a respective first one point-of-interest of the plurality of points-of-interest and a respective second one point-of-interest of the plurality of points-of-interest; and creating a travel graph for the geographical location based on the point-of-interest data, the respective average time spent by the plurality of users at each respective point-of-interest and the plurality of travel times, such that the travel graph comprises a plurality of nodes, each respective node corresponding to a respective one point-of-interest of the plurality of points of interest, where each respective node of the plurality of nodes is associated with respective node level data, comprising a respective location, a plurality of travel times between the respective node and at least a subset of the plurality of nodes, a respective popularity score for the node, a respective number of users visiting the node and a respective average time spent by users at the respective node.
-
-
19. A computing device comprising:
-
a processor; a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising; logic executed by the processor for logic executed by the processor for receiving from a user device, a request for a travel itinerary, the request comprising a starting location and an ending location within a geographic area and a time constraint; logic executed by the processor for retrieving a travel graph for the geographic area, the travel graph comprising a plurality of nodes, each respective node corresponding to a respective one point-of-interest of a plurality of points of interest, where each respective node of the plurality of nodes is associated with respective node level data comprising a respective location, a plurality of travel times between the respective node and at least a subset of the plurality of nodes, a respective popularity score for the node, a respective number of users visiting the node and a respective average time spent by users at the respective node; logic executed by the processor for calculating respective prize score for each node of the plurality of nodes; logic executed by the processor for selecting a first node of the plurality of nodes that is nearest to the starting location logic executed by the processor for selecting a second node of the plurality of nodes that is nearest to the ending location logic executed by the processor for determining a travel itinerary using the travel graph and the respective prize scores for each of the plurality of nodes, such that the travel itinerary comprises the first node of the plurality of nodes, the second node of the plurality of nodes and a plurality of additional nodes selected from the plurality of nodes, where the plurality of additional nodes are selected from the plurality of nodes such that a total prize score for the plurality of additional nodes is maximized within the time constraint; and providing a representation of the travel itinerary to the user device.
-
-
20. A computing device comprising:
-
a processor; a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising; logic executed by the processor for retrieving point-of-interest data relating to a plurality of points of interest within a geographic area, the point-of-interest data comprising, for each point-of-interest of the plurality of points of interest, a respective popularity score and a respective location; logic executed by the processor for retrieving geo-tagged data comprising a plurality of geo-tagged objects, each geo-tagged object of the plurality of geo-tagged objects relating to a respective one point-of-interest of the plurality of points of interest and comprising a respective date and time and a respective one user of a plurality of users; logic executed by the processor for determining using the geo-tagged data, for each point-of-interest of the plurality of points of interest, a respective average time spent by the plurality of users at the respective point-of-interest, logic executed by the processor for determining a plurality of travel times, each respective travel time of the plurality of travel times comprising a travel time between a respective first one point-of-interest of the plurality of points-of-interest and a respective second one point-of-interest of the plurality of points-of-interest; and logic executed by the processor for creating a travel graph for the geographical location based on the point-of-interest data, the respective average time spent by the plurality of users at each respective point-of-interest and the plurality of travel times, such that the travel graph comprises a plurality of nodes, each respective node corresponding to a respective one point-of-interest of the plurality of points of interest, where each respective node of the plurality of nodes is associated with respective node level data, comprising a respective location, a plurality of travel times between the respective node and at least a subset of the plurality of nodes, a respective popularity score for the node, a respective number of users visiting the node and a respective average time spent by users at the respective node.
-
Specification