# US 9,870,540 B2 · Travel services search

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,870,540 B2
- Document ID: US9870540B2
- Status: Granted
- Kind: B2
- Application number: 15/232,662
- Filed: 2016-08-09
- Published: 2016-12-01
- Granted: 2018-01-16
- Earliest claimed: 2011-05-20
- Assignees: Deem, Inc.
- Applicants: Deem, Inc.
- Inventors: Garner Swann; Parthasarathy Sundaram; Jeremy Paul Todd; Rajat Shroff; Alan Todd Kaiser; Nicholas Briggs; David Falk; Daniel L. Pritchett
- Web page: https://patentgrep.com/patent/US9870540B2

## CPC

- G06F 16/355: Creation or modification of classes or clusters
- G06F 16/23: Updating
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9538: Presentation of query results
- G06Q 10/02: Reservations, e.g. for tickets, services or events
- G06Q 30/0625: {by formulating product or service queries, e.g. using keywords or predefined options}
- G06Q 30/0631: {Recommending goods or services}
- G06Q 50/14: Travel agencies
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A system and method for searching travel services. A server computer receives a travel request from a client device operated by a user. The server computer identifies travel options according to the travel request. The server computer classifies the travel options into predefined groups, the classifying based on at least one of past transactions, input from domain experts, input from semantic analysts, analytics data, user preferences, and company policies. The server computer presents the options via presentation of the predefined groups.

## Claims

### Claim 1

A method comprising:
receiving, by a server computer from a client device operated by a user, a travel request;
identifying, by the server computer, travel options according to the travel request;
ranking, by the server computer, each travel option in the identified travel options, the ranking based on travel attributes of each travel option and user preferences;
classifying, by the server computer, the ranked travel options into predefined buckets, wherein each bucket of the predefined buckets is associated with a plurality of weighted travel attributes;
classifying, by the server computer, a first bucket, the classifying based on a model function of the first bucket, wherein the classifying of the first bucket is further based on attributes associated with the travel options;
filtering, by the server computer, the ranked travel options in the predefined buckets;
communicating, by the server computer to the client device, the filtered classified ranked travel options in the corresponding predefined buckets for display, the filtered classified ranked travel options in the corresponding predefined buckets displayed at the client device in an order associated with the user;
receiving, by the server computer from the client device, interactions from the user with one or more of the displayed predefined buckets, the interactions comprising a voting of the travel options in the bucket; and
in response to receiving the interactions from the user with the one or more of the displayed predefined buckets, using, the interactions for future classifying.

### Claim 2 (depends on 1)

The method of claim 1, wherein the communicating of the options is personalized for the user.

### Claim 3 (depends on 1)

The method of claim 1, wherein the classifying of the travel options into the predefined buckets further comprises defining, by the user, a function to classify an option.

### Claim 4 (depends on 3)

The method of claim 3, wherein the defining, by the user, of the function further comprises defining the function via one or more votes.

### Claim 5 (depends on 1)

The method of claim 1, further comprising determining, by the server computer, a plurality of buckets specifically for the user.

### Claim 6 (depends on 5)

The method of claim 5, further comprising providing, by the server computer to the client device, the plurality of buckets as recommendations for the user based on the travel request.

### Claim 7 (depends on 5)

The method of claim 5, wherein the determining of the plurality of buckets further comprises determining buckets that are one or more of personalized to a user's search behavior and personalized based on social connections.

### Claim 8

A system comprising:
a processor; and
memory storing instructions configured to instruct the processor to:
receive from a client device operated by a user, a travel request;
identify travel options according to the travel request;
rank each travel option in the identified travel options, the ranking based on travel attributes of each travel option and user preferences;
classify the ranked travel options into predefined buckets, wherein each bucket of the predefined buckets is associated with a plurality of weighted travel attributes;
classify a first bucket, the classifying based on a model function of the first bucket, wherein the classifying of the first bucket is further based on attributes associated with the travel options;
filter the ranked travel options in the predefined buckets;
communicate the filtered classified ranked travel options in the corresponding predefined buckets for display, the filtered classified ranked travel options in the corresponding predefined buckets displayed at the client device in an order associated with the user;
receive interactions from the user with one or more of the displayed predefined buckets, the interactions comprising a voting of the travel options in the bucket; and
in response to receiving the interactions from the user with the one or more of the displayed predefined buckets, use the interactions for future classifying.

### Claim 9 (depends on 8)

The system of claim 8, wherein the instructions to communicate the options further comprises instructions to communicate that are personalized for the user.

### Claim 10 (depends on 8)

The system of claim 8, wherein the instructions to classify the travel options into the predefined buckets further comprises instructions to enable the user to define a function to classify an option.

### Claim 11 (depends on 10)

The system of claim 10, wherein the instructions to enable the user to define the function further comprises instructions to enable the user to define the function via one or more votes.

### Claim 12 (depends on 8)

The system of claim 8, further comprising instructions to determine a plurality of buckets specifically for the user.

### Claim 13 (depends on 12)

The system of claim 12, further comprising instructions to provide, to the client device, the plurality of buckets as recommendations for the user based on the travel request.

### Claim 14 (depends on 12)

The system of claim 12, wherein the instructions to determine the plurality of buckets further comprises instructions to determine buckets that are one or more of personalized to a user's search behavior and personalized based on social connections.

### Claim 15

a non-transitory computer readable storage medium storing computer program instructions configured to instruct a computer processor to at least:
receive from a client device operated by a user, a travel request;
identify travel options according to the travel request;
rank each travel option in the identified travel options, the ranking based on travel attributes of each travel option and user preferences;
classify the ranked travel options into predefined buckets, wherein each bucket of the predefined buckets is associated with a plurality of weighted travel attributes;
classify a first bucket, the classifying based on a model function of the first bucket, wherein the classifying of the first bucket is further based on attributes associated with the travel options;
filter the ranked travel options in the predefined buckets;
communicate the filtered classified ranked travel options in the corresponding predefined buckets for display, the filtered classified ranked travel options in the corresponding predefined buckets displayed at the client device in an order associated with the user;
receive interactions from the user with one or more of the displayed predefined buckets, the interactions comprising a voting of the travel options in the bucket; and
in response to receiving the interactions from the user with the one or more of the displayed predefined buckets, use the interactions for future classifying.
