U.S. patent application number 13/398517 was filed with the patent office on 2012-08-23 for system and method for matching an offer with a quote.
Invention is credited to Maja Bogdanovic, Barnaby Merrick Harford, Clair Hector, Sendi Widjaja.
Application Number | 20120215570 13/398517 |
Document ID | / |
Family ID | 33159988 |
Filed Date | 2012-08-23 |
United States Patent
Application |
20120215570 |
Kind Code |
A1 |
Harford; Barnaby Merrick ;
et al. |
August 23, 2012 |
SYSTEM AND METHOD FOR MATCHING AN OFFER WITH A QUOTE
Abstract
Described is a system and method that satisfies offers from
customers with quotes from suppliers in a way that increases the
likelihood of achieving an acceptable match. The system is
configured to receive an offer for a product. The system queries in
parallel multiple suppliers for rate quotes on the desired product.
Each of the suppliers is ranked according to the lowest rate quoted
by each supplier. The supplier quoting the lowest rate is selected
as the winner of the offer. The system may then evaluate any other
rate quotes provided by the winning provider. The system may
satisfy the customer's offer with the winning provider at a higher
rate than the winning rate quoted, up to the customer's offer.
Inventors: |
Harford; Barnaby Merrick;
(Seattle, WA) ; Widjaja; Sendi; (Bellevue, WA)
; Bogdanovic; Maja; (Seattle, WA) ; Hector;
Clair; (Seattle, WA) |
Family ID: |
33159988 |
Appl. No.: |
13/398517 |
Filed: |
February 16, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12714382 |
Feb 26, 2010 |
8204810 |
|
|
13398517 |
|
|
|
|
10830781 |
Apr 23, 2004 |
7672883 |
|
|
12714382 |
|
|
|
|
09648124 |
Aug 25, 2000 |
6826543 |
|
|
10830781 |
|
|
|
|
Current U.S.
Class: |
705/5 ;
705/26.4 |
Current CPC
Class: |
G06Q 30/0635 20130101;
G06Q 40/04 20130101; G06Q 30/0625 20130101; G06Q 40/00 20130101;
Y10S 707/99933 20130101; G06Q 30/0601 20130101; G06Q 10/025
20130101; G06Q 20/10 20130101; G06Q 10/02 20130101; G06Q 30/0613
20130101; G06Q 30/0611 20130101; G06Q 50/188 20130101 |
Class at
Publication: |
705/5 ;
705/26.4 |
International
Class: |
G06Q 10/02 20120101
G06Q010/02; G06Q 30/00 20120101 G06Q030/00 |
Claims
1. A computer-implemented method of matching an offer for product
with a supplier, comprising: receiving an offer for a product,
wherein the offer includes an offer price submitted by a customer;
obtaining, by a computing system corresponding to one or more
computing devices, a plurality of responses to the offer, wherein
at least one of the plurality of responses include a first and a
second price quote from a supplier, wherein the first price quote
is less than the second price quote and wherein at least one of the
plurality of responses include a rating provided by a respective
supplier, the rating associated with the product; and after
obtaining the plurality of responses: identifying, by the computing
system, qualifying price quotes for the product from the plurality
of responses, wherein the qualifying price quotes correspond to
price quotes less than the offer price; selecting, by the computing
system, a qualifying price quote based on at least one of a lowest
price quote and a rating provided by a supplier; identifying, by
the computing system, a supplier associated with the selected price
quote; and causing, by the computing system, a matching of the
offer for the product with the identified supplier.
2. The computer-implemented method of claim 1, wherein the offer
further includes a description of the product.
3. The computer-implemented method of claim 1, wherein the product
is a travel service.
4. The computer-implemented method of claim 1, wherein causing the
matching of the offer for the product includes making a reservation
for a travel service provided by the selected supplier.
5. The computer-implemented method of claim 1, wherein selecting
qualifying quotes for the product further comprises determining a
threshold value corresponding to a minimum price quote and
excluding price quotes above the threshold value.
6. A method, executed on a query server in response to receiving an
offer for a product from a client computer, for matching the offer
with a quote from a seller, the method comprising: at the query
server: obtaining a plurality of responses from sellers, wherein
each response comprises a price quote for the product and wherein
at least one response from a first seller comprises at least two
quotes for the product, wherein the at least two quotes for the
product from the first seller are different; and after obtaining
the plurality of responses: identifying qualifying price quotes
from the plurality of responses, wherein the qualifying quotes
correspond to price quotes for the product that are less than a
price associated with the offer, and for the qualifying quotes:
selecting a price quote of the qualifying quotes based on at least
one of price and rating associated with the product, wherein at
least one response from the plurality of response includes multiple
price quotes from a same seller; identifying a seller associated
with the selected price quote; and causing the matching of the
offer received from the client computer to a quote from the
identified seller.
7. The method of claim 6, wherein the offer received from the
client computer identifies a minimum quality rating and a maximum
price for the product that would be accepted in a quote from one of
the plurality of sellers.
8. The method of claim 7 further comprising publishing the offer
for the product received from the client computer to the plurality
of sellers in a quote while withholding the maximum price for the
product that would be accepted.
9. The method of claim 7, wherein identifying qualifying price
quotes includes identifying price quotes that are associated with a
quality rating for the product that at least matches the minimum
quality rating identified in the offer.
10. The method of claim 7, wherein identifying qualifying quotes
includes determining a first price according to the price
associated with the offer received from the client computer, and
identifying price quotes from the plurality of responses that are
less than the first price.
11. The method of claim 7, wherein identifying qualifying quotes
includes determining a first price according to the price
associated with the offer received from the client computer; and
identifying price quotes from the plurality of responses that
specify a quality rating for the product that at least matches the
minimum qualify rating identified in the offer and that are less
than the first price.
12. The method of claim 11, wherein selecting the price quote of
the qualifying quotes comprises ranking the qualifying quotes
according to an identified price quote and qualify rating, and
selecting a price quote that identifies the lowest price for the
product.
13. The method of claim 11, wherein selecting the price quote of
the qualifying quotes comprises ranking the qualifying quotes
according to an identified price quote and qualify rating, and
selecting a price quote associated with a highest qualify rating
for the product.
14. The method of claim 11, wherein selecting the price quote of
the qualifying quotes comprises ranking the qualifying quotes
according to an identified price quote and quality rating, and
selecting a price quote associated with a highest quality rating
and lowest price for the product.
15. The method of claim 11, wherein causing the matching the offer
received from the client computer to the quote obtained from the
identified seller comprises: evaluating all price quotes obtained
from the identified seller; and causing a matching of the offer
received from the client computer with a price quote from the
identified seller corresponding to a highest price quote.
16. The method of claim 11, wherein causing the matching the offer
received from the client computer to the quote obtained from the
identified seller associated with the most preferential quote
comprises: evaluating all price quotes obtained from the identified
seller; and causing a matching of the offer received from the
client computer with a price quote from the identified seller
associated with a highest quality rating.
17. The method of claim 11, wherein causing the matching the offer
received from the client computer to the quote obtained from the
identified seller comprises: evaluating all price quotes obtained
from the identified seller; and causing a matching of the offer
received from the client computer with a price quote from the
identified seller that identifies a highest quality rating and a
highest price quote.
18. The method of claim 11, wherein the first price is calculated
as a function of a desired profit by the query.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to electronic commerce. More
specifically, the invention relates to the purchase of travel
accommodations, such as hotel rooms, in an electronic exchange
transaction.
BACKGROUND OF THE INVENTION
[0002] More and more people are purchasing goods and services
electronically, such as over the Internet. These mechanisms provide
an outlet for suppliers having surplus inventory, and often allow
purchasers to obtain desired goods or services at below-market
rates. One common example of an electronic exchange between
purchasers and suppliers is the "electronic travel agent," used to
place an offer for travel accommodations, such as hotel rooms or
airline tickets. However, existing electronic exchanges suffer from
various problems. For instance, schemes employed by existing
systems to satisfy offers from purchasers with quotes from
suppliers do not create an incentive for the suppliers to quote
their goods or services at rates significantly below market rates
because the suppliers cannot benefit from quoting low rates. One
reason is that existing systems satisfy a purchaser's offer by
simply querying a list of suppliers to determine whether one or
more of them can provide accommodations at a given rate, based on
the offer value. The first qualified supplier that satisfies the
offer is selected as the winner of the offer, even if the selected
supplier does not quote the lowest rate. There is no incentive for
a supplier to quote a lower rate.
[0003] In addition, existing schemes charge a purchaser the value
of the purchaser's offer even if that value exceeds what the
purchaser would have paid without the aid of the electronic travel
service system. In other words, even if the purchaser's offer
exceeds a published rate for the accommodations, existing schemes
punish the purchaser by charging her the full value of the
offer.
[0004] An effective electronic exchange system for satisfying an
offer by a purchaser with a quote from a supplier has eluded those
skilled in the art.
SUMMARY OF THE INVENTION
[0005] Briefly stated, the present invention overcomes the problems
identified above by providing a system and method that satisfies
offers from customers with quotes from suppliers in a way that
increases the likelihood of achieving an acceptable match between
the offer and a quote. The system of the present invention is
configured to receive from a customer an offer for a product. The
product may be any commodity available in commerce, such as goods
or services. The offer may include specific details to further
identify the product being sought. For example, if the offer is for
travel accommodations, the offer may identify a travel destination
and a price at which the customer is willing to accept
accommodations. The offer may additionally identify an area within
the destination to more narrowly focus a list of potential
suppliers.
[0006] The system queries in parallel multiple suppliers for rate
quotes on the desired goods, or service. Then, rather than
selecting the first supplier that satisfies the offer, each of the
suppliers are ranked according to the lowest rate quoted by each
supplier. The supplier quoting the lowest rate is selected as a
preliminary winner with the first right to accept the offer
provided that the lowest rate is sufficiently below the offer. At
that point, the offer can be matched with the supplier quoting the
lowest rate. This system improves over existing electronic
exchanges in that the first supplier quoting a satisfactory rate is
not necessarily the one selected. Rather, the lowest of multiple
potential suppliers is selected. Plus, the consumer may be
benefited as well by this incentive to the suppliers to provide at
least one low rate.
[0007] One improvement to the above-described system is a profit
sharing program through which suppliers are not significantly
harmed by quoting low rates. In this aspect of the invention, each
provider may quote different rates for the same goods or services.
For instance, a hotel may return two or more different rates for
the same hotel room. The system may select the winning provider in
the same manner as above (e.g., by the lowest quoted rate) but then
evaluate any other rate quotes provided by the winning provider.
The system may satisfy the customer's offer with the winning
provider at a higher rate (if one was provided) than the winning
rate quoted, up to the customer's offer (typically adjusted for a
reasonable broker's profit). In this way, even though the provider
provides low rate quotes to win the offer, the provider may still
realize a much higher rate for the goods or services by quoting
additional, higher rate quotes as well. Yet another improvement to
the above-described system is an upgrade reward system through
which customers are incentivized to provide higher offers for the
goods or services. In this aspect of the invention, the offer
provided by the customer identifies a minimum quality rating, such
as a star rating for a hotel, that the customer is willing to
accept. The queries made to potential providers may additionally
request the rating of the goods or services being quoted. In this
way, the system may rank the potential providers by both rate
quotes and ratings. Then the system may identify as the offer
winner the potential provider quoting the highest rating that at
least satisfies the customer's offer, and that has the lowest
quoted rate. In this way, if a provider quotes a rate that
satisfies the customer's offer price and that has a higher rating
than acceptable by the customer, the customer is rewarded with
better-than-acceptable goods or services at the same price.
Optionally, the system may calculate a value, based on the offer
value, below which the rate quote must be before upgrading the
customer, thereby creating a disincentive for the customer to offer
extremely low. For example, the system may adjust the offer value
by some factor or a percentage and only upgrade for rate quotes
below the adjusted value.
[0008] These and other aspects of the invention, together with the
benefits and advantages realized, will become apparent from a
reading of the following detailed description in conjunction with
the drawings, in which:
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is a block diagram representing a typical computer
system into which one implementation of the present invention may
be incorporated;
[0010] FIG. 2 is a functional block diagram generally illustrating
one implementation of an electronic travel agent system constructed
in accordance with the present invention;
[0011] FIG. 3 is a functional block diagram generally illustrating
one implementation of an electronic travel agent component of the
system illustrated in FIG. 2;
[0012] FIG. 4 illustrates, in tabular format, one example of the
type of information that may be stored within a customer database
employed in one implementation of the present invention;
[0013] FIG. 5 illustrates, in tabular format, one example of the
type of information that may be stored within a hotel database
employed in one implementation of the present invention;
[0014] FIG. 6 illustrates, in tabular format, one example of the
type of information that may be stored within an offer history
database employed in one implementation of the present
invention;
[0015] FIGS. 7-12 are sample screen displays that may be presented
to a user when interfacing with one implementation of the present
invention;
[0016] FIG. 13 is a logical flow diagram generally illustrating a
process performed by one implementation of the present invention to
satisfy an offer from a customer with a quote from one or more
suppliers;
[0017] FIG. 14 is a logical flow diagram generally illustrating the
functions performed by one implementation of the present invention
to receive customer offer information;
[0018] FIG. 15 is a logical flow diagram generally illustrating a
process performed by one implementation of the present invention to
request rates from hotels within selected areas;
[0019] FIG. 16 is a logical flow diagram that generally illustrates
a process for identifying a winning hotel from a plurality of
responses received by one implementation of the present
invention;
[0020] FIG. 17 illustrates each of a plurality of hotels charted
based on the value of rates provided by those hotels;
[0021] FIG. 18 illustrates several of the hotels charted in FIG. 17
stack-ranked in accordance with the process illustrated in FIG. 16;
and
[0022] FIG. 19 is a logical flow diagram generally illustrating a
process for booking accommodations with a hotel having been
identified as a winner by one implementation of the present
invention.
DETAILED DESCRIPTION
[0023] One illustrative electronic exchange system constructed in
accordance with the invention may be implemented as an electronic
travel agent system. The illustrative system may be used to
increase hotel occupancy while benefiting consumers in a way that
strives to increase the average daily rate booked through the
system. The several components of the system are described first,
followed by a description of the operation of the system through
the interaction of the several components. The illustrative system
described is but one of many alternative electronic exchange
purchase transactions that can be implemented in accordance with
the invention, and the breadth and scope of the invention is not
limited to the particular embodiments described here.
Exemplary Computing Device
[0024] FIG. 1 is a functional block diagram generally illustrating
a computing device 100, one or more of which may be adapted for use
in the illustrative system for implementing the invention. The
computing device may be, for example, a personal computer, a
handheld device such as a cell phone or a personal digital
assistant, multi-processor systems, microprocessor-based or
programmable consumer electronics, network PCs, minicomputers,
mainframe computers and the like. The invention may also be
practiced in distributed computing environments where tasks are
performed by remote processing devices that are linked through a
communications network. In a distributed computing environment,
program modules may be located in both local and remote memory
storage devices.
[0025] In its most basic configuration, computing device 100
typically may include at least one processing unit 102 and system
memory 104. Depending on the exact configuration and type of
computing device, system memory 104 may be volatile (such as RAM),
non-volatile (such as ROM, flash memory, etc.), or some combination
Of the two. The basic configuration of the device 100 is
illustrated in FIG. 1 within dashed line 106.
[0026] Device 100 may also have additional features and
functionality. For example, device 100 may also include additional
storage (removable and/or non-removable) including, but not limited
to magnetic or optical disks or tape. Such additional storage is
illustrated in FIG. 1 by removable storage 108 and non-removable
storage 110. Computer storage media includes volatile and
nonvolatile, removable and non-removable media implemented in any
method or technology for storage of information such as computer
readable instructions, data structures, program modules, or other
data. Memory 104, removable storage 108, and non-removable storage
110 are examples of computer storage media. Computer storage media
includes, but is not limited to, RAM, ROM, EEPROM, flash memory or
other memory technology, CD-ROM, digital versatile disks (DVD) or
other optical storage, magnetic cassettes, magnetic tape, magnetic
disk, storage or other magnetic storage devices, or any other
medium which can be used to store information and which can be
accessed by device 100. Any such computer storage media may be part
of device 100.
[0027] Device 100 includes one or more input devices 112 such as a
keyboard, mouse, pen, voice input device, touch input device,
scanner, or the like. One or more output devices 114 may also be
included, such as a video display, audio speakers, a printer, or
the like. Input and output devices are well known in the art and
need not be discussed at length here.
[0028] Device 100 also contains communications connection 116 that
allows the device 100 to communicate with other devices 118, such
as over a local or wide area network. Communications connection 116
is one example of communication media. Communication media includes
any information delivery media that serves as a vehicle through
which computer readable instructions, data structures, program
modules, or other data may be delivered on a modulated data signal,
such as a carrier wave or other transport mechanism. The term
"modulated data signal" means a signal that has one or more of its
characteristics set or changed in such a manner as to encode
information in the signal. By way of example, and not limitation,
communication media includes wired media such as a wired network or
direct-wired connection, and wireless media such as acoustic,
electromagnetic (e.g., radio frequency), infrared, and other
wireless media. The term computer readable media as used herein
includes both storage media and communication media.
Illustrative Electronic Travel Agent System
[0029] FIG. 2 is a functional block diagram generally illustrating
one implementation of an electronic travel agent system (the system
200) constructed in accordance with the present invention. The
system 200 may be implemented as software modules or components
stored and executing on one or more computing devices, such as that
illustrated in FIG. 1. The system illustrated in FIG. 2 and
described here is but one of the many implementations that will
become apparent by the teachings of the present invention.
[0030] The system 200 includes a customer machine 201, an
electronic travel agent 202, an availability determination
component 203, such as a Global Distribution System (the booking
system), and a network of providers, such as hotels 204, that have
agreed to participate in the system 200. Although well-suited for
use in conjunction with a hotel network 204, this implementation of
the invention has equal applicability to other provider networks
and the hotel network 204 is quoted only as one example. As
described below, each of these components may include one or more
computing devices, such as the computing device 100 described
above. Moreover, each of the components may be interconnected over
a wide area network, such as the Internet 206. Although the
following discussion will make reference to the Internet 206 as a
specific wide area network, those skilled in the art will
appreciate that any mechanism for connecting multiple computing
devices may equally be used.
[0031] The customer machine 201 is a computing device connected to
the Internet 206 over a network connection 208, such as a dial-up
modem connection or digital subscriber line connection. The
customer machine 201 may be adapted to interact with other
computing devices over the Internet 206 through the use of browsing
software 205. The browsing software 205 may be integrated into a
subsystem of an operating system executing on the customer machine
201. Via the browsing software 205, a user of the customer machine
201 may retrieve Web pages or other documents from other computing
devices attached to the Internet 206, and may additionally provide
information to those other computing devices.
[0032] Each hotel within the hotel network 204 may either be
connected to the Internet 206, such as over network connection 210,
or may be directly connected to the booking system 203, such as
through a dedicated network connection 212. It should be
appreciated that each hotel in the hotel network 204 may be
connected to and interface with the booking system 203 in a
conventional manner.
[0033] The booking system 203 may also have a network connection
214 to the Internet 206 to interface with other computing devices
also connected to the Internet 206. The booking system 203 may
include and maintain a data store 218 that contains availability
and rate information for each of the hotels in the hotel network
204. If it is connected to the Internet 206, the booking system 203
may include information server software 216 for managing
transactions with other computing devices over the Internet 206.
The booking system 203 is adapted to place queries to or receive
from each hotel in the hotel network 204 current availability and
rate information, and to store that information in the data store
218. The booking system 203 may make that information available to
entities interested in booking travel arrangements, such as the
electronic travel agent 202. Moreover, the booking system 203 is
adapted to make reservations with hotels in the hotel network 204
upon request by those entities. One example of such a booking
system 203 is the Pegasus hotel booking system in common use
today.
[0034] The electronic travel agent (ETA) 202 may include one or
more computing devices, such as that illustrated in FIG. 1, and is
connected to the Internet 206 through a network connection 220. The
ETA 202 may optionally be connected to the booking system 203
through a dedicated network connection 221. The ETA 202 is
illustrated in greater detail in FIG. 3 and described below.
Generally described, the ETA 202 includes a Web server component
222, a travel server component 224, a hotel finder component 226,
and a data store 228. Although these four components are shown,
those skilled in the art, will appreciate that the functions of
each described component may be merged into fewer components, or
similarly, distributed among more components. The use of four
illustrative components is for simplicity of discussion only, and
should not be viewed as an exclusive list of components. Through
the use of the described components, the ETA 202 interfaces with
the customer machine 201 and the booking system 203 to administer
an electronic exchange purchase transaction. As described in
greater detail below, the ETA 202 interfaces with the customer
machine 201, via the Internet 206, to receive an offer for travel
accommodations. The ETA 202 retrieves from the booking system 203
quotes for those travel accommodations made by the hotels in the
hotel network 204. The ETA 202 then satisfies, if possible, the
offer from the customer machine 201 with a winning hotel in the
hotel network 204.
[0035] FIG. 3 is a functional block diagram generally illustrating
one implementation of the ETA 202. As mentioned above, the ETA 202
includes a Web server component 222, a travel server component 224,
a hotel finder component 226, and a data store 228. The data store
228 of the described embodiment contains various types of
information used by the different components of the ETA 202. For
instance, the data store 228 includes a customer database 305 that
is used to store information related to customers of the ETA 202.
FIG. 4 illustrates, in tabular format, one example of the type of
information that may be stored within the customer database 305.
Referring to FIG. 4, a table 401 includes a record for each
customer of the ETA 202. Each record may include a customer
identifier 403, authentication information 405 for the customer, an
email address 407 for the customer, and other information 409
associated with the particular customer.
[0036] The data store 228 also includes a hotel database 307 that
contains information on each hotel in the hotel network 204. The
hotel database 307 is queried by the hotel finder 226 to identify
particular hotels within the hotel network 204 that may satisfy an
offer from the customer machine 201. FIG. 5 illustrates, in tabular
format, one example of the information that may be stored within
the hotel database 307. Referring to FIG. 5, a table 501 includes a
record for each hotel in the hotel network 204. Each record
includes a hotel identifier 503 that uniquely identifies each hotel
in the hotel network 204. The record may also include a rating 505
for the corresponding hotel, such as the familiar "star ratings"
(e.g.; one star equals economy, five stars equals luxury) in
widespread use today. The record additionally geographically
identifies where the hotel is located by a destination 507 and
possibly an area 509 within the destination. The average rate 511
for the hotel may be included within the record, as well as other
information 513 associated with the corresponding hotel.
[0037] Returning to FIG. 3, the data store 228 also includes an
offer history database 309, which contains the storage information
related to offers provided to the ETA 202 by various customers.
FIG. 6 illustrates, in tabular format, one example of the
information that may be stored within the offer history database
309. Referring to FIG. 6, a table 601 includes a record for each
offer provided to the ETA 202. Each record includes an offer
identifier 603 to uniquely identify the offer, and the customer
identifier 605 of the customer that provided the offer. The table
601 includes a column of information used to purge stale records
from the offer history database 309. In the described example, a
record for an offer is purged from the offer history database 309
once the check-in date 607 corresponding to the offer has passed.
In this embodiment, stale records are periodically purged from the
offer history database 309 based on the check-in date 607. Other
offer information 609 may also be included in the offer history
database 309.
[0038] Returning once again to FIG. 3, other files 311 may also be
contained within the data store 228. For instance, HTML and XML
files served by the Web server 222 may be contained within the data
store 228, as well as other information.
[0039] The Web server component 222 of the ETA 202 controls the
interface between the ETA 202 and the customer machine 201. The Web
server 222 includes a user interface component 303 configured to
assemble and serve Web pages over the Internet 206 to the customer
machine 201. The user interface 303 may also receive information
provided by the customer machine 201 through those Web pages. The
user interface 303 may then make information received from the
customer machine 201 available to the Web server 222, which may in
turn make that information available to other components of the ETA
202, such as the hotel finder 226 or the travel server 224.
[0040] The hotel finder 226 is configured to access the hotel
database 307 when an offer is provided to it by the Web server 222.
Based on the parameters provided with the offer, the hotel finder
226 accesses the hotel database 307 to identify potential hotels
within the hotel network 204 that may satisfy the offer. It should
be noted that the hotel finder 226 need not contact the hotels
directly or the booking system 203 to identify hotels that may
potentially satisfy the offer. Rather, sufficient information about
the participating hotels in the hotel network 204 is stored locally
within the hotel database 307.
[0041] The Web server 222 and the hotel finder 226 also interface
with the travel server 224. The travel server 224 is a component of
the ETA 202 configured to interface with the booking system 203 to
query for availability and rates of the hotels and the hotel
network 204. The travel server 224 is also configured to make hotel
reservations with the booking system 203. The travel server 224
includes a sorter component 313 that is configured to manipulate
data received from the booking system 203 to rank potential hotels
in accordance with one embodiment of the invention.
Illustrative User Interface Screens
[0042] FIGS. 7-12 are sample screen displays that may be presented
to a user of the customer machine 201 when interfacing with the ETA
202. Each of the sample screen displays represents one or more HTML
or XML pages assembled and served by the user interface component
303 of the Web server 222, interpreted and rendered by the Web
browsing software 205 of the customer machine 201. The sample
screen displays are provided as examples only, and the particular
layout of the sample screen displays are not critical to a proper
functioning of the invention.
[0043] FIG. 7 is a graphical representation of an initial screen
display 701 presented to a user to begin the offer process. In this
screen display 701, the user is prompted with a destination field
703 so that the user may identify the destination of the travel,
such as a particular city. In this implementation, the destination
field 703 is a drop-down box that contains pre-selected destination
names from which the user may choose, corresponding to at least
some of the hotels that have agreed to participate. The user is
also prompted with a check-in field 705 and a check-outfield 707
which together allow the user to define the desired lodging dates.
By activating the next button 709, the user causes the information
provided in the several fields on as the initial screen display 701
to be posted to the Web server 222, where it is stored. Activating
the next button 709 may also cause the user interface component 303
to transmit to the customer machine 201 an area selection screen
display.
[0044] FIG. 8 is a graphical representation of an area selection
screen display 801. Each particular destination (e.g., a city) may
be further subdivided into "areas" to allow the user to more
narrowly specify the location where the user will travel. In this
embodiment, the area selection screen display 801 prompts the user
with a map 803 of the particular destination previously identified.
Within the map 803 are graphical representation of areas from which
the user may choose. For instance, in the sample screen display
illustrated in FIG. 8, map 803 includes four areas (midtown,
downtown, upper east side, upper west side) within the selected
destination.
[0045] The area selection screen display 801 also includes
selection fields 805 that allow the user to select, such as by
clicking on the check boxes or the map, one or more areas of
interest to the user within the selected destination. By activating
the next button 809, the user causes the information provided in
the several fields on the area selection screen display 801 to be
posted to the Web server 222, where the information is stored.
Activating the next button 809 may also cause the user interface
component 303 to transmit to the customer machine 201 an
offer-price screen display.
[0046] FIG. 9 is a graphical representation of an offer-price
screen display 901. In this screen display 901, the user is
prompted to enter an offer price in an offer price field 903. The
user is also prompted to identify a minimum acceptable hotel class
rating, such as through a series of radio-button selection fields
905.
[0047] The offer-price screen display 901 may be generated by the
user interface component 303 of the Web server 222 based on
information provided through the other screen displays. For
example, the web server 222 (FIG. 3) may query the hotel database
307, via the hotel finder 226, for information about the hotels
within the area or areas selected by the user in the area selection
screen display 801. That information may then be incorporated into
the offer-price screen display 901 when presented to the customer
machine 201. In that way, the user may be presented with
information tailored to the specific area of interest. More
specifically, the offer-price screen display 901 may include the
average published rates 907 for the participating hotels in the
selected areas. Moreover, if there are no hotels of a particular
class rating in the selected area, those nonexistent class ratings
are not presented in the offer-price screen display 901 (e.g.; no
one-star or five-star hotels in the selected area). Optionally, the
offer-price screen display 901 (or any other screen display) may
provide the customer with an option of identifying particular
hotels that the customer deems to be undesirable, and which should
be avoided during the electronic exchange process. Again, by
activating the next button 909, the user causes the information
provided in the several fields on the offer-price screen display
901 to be posted to the Web server 222, where the information is
stored. Activating the next button 909 may also cause the user
interface component 303 to transmit to the customer machine 201 an
identification screen display.
[0048] FIG. 10 is a graphical representation of an identification
screen display 1001 that may be used to prompt the customer to
identify himself to the ETA 202 and initiate the offer matching
process. The customer may be presented with a customer ID field
1003 and a password field 1005. Together those fields allow the
customer to identify himself if the customer already has an account
with the ETA 202. If not, then the customer may activate a create
account button 1007 to retrieve a create account screen display,
illustrated in FIG. 11 and described below. The identification
screen display 1001 may additionally include a check box field 1009
to allow the customer to request that the password be saved to the
customer machine 201. The identification, screen display 1001 may
additionally prompt the customer for an e-mail address 1011 to
which confirmation may be transmitted. By activating the offer
button 1013, the customer may cause the information provided on the
identification screen display 1001 to be transmitted to the ETA
202, thereby causing the ETA 202 to begin attempting to find a
match for the offer.
[0049] FIG. 11 is a graphical representation of a create account
screen display 1101 that may be used to allow the customer to
create an account with the ETA 202. The various input fields on the
create account screen display 1101 allow the customer to provide
sufficient information to create the account. For example, the
customer may provide a desired customer ID 1103 (e.g., screen
name), a desired password 1105, an e-mail address 1107, a home or
mailing address 1109, credit card information 1113, and/or other
information, such as travel preferences 1115. Activating the create
button 1117 causes the information in the various fields to be
posted to the Web server 222, which in turn stores the information
as a new record in the customer database 305. The create button
1117 may additionally return control to the identification screen
display 1001 to proceed with the current offer transaction.
[0050] FIG. 12 is a graphical representation of a reporting screen
display 1201 that may be used to report a successful electronic
exchange match (as described in detail below) to the customer
machine 201. The reporting screen display 1201 may present the
customer with confirmation that the customer's offer has been
satisfied, or with notice that it was not. As can be understood,
when the system 200 attempts to book the travel services, the
quotes supplied by the providers other than a satisfying quote are
not shown to the user. The sample reporting screen display 1201 of
FIG. 12 reflects a confirmation of successfully satisfying the
offer. The transaction particulars (e.g., the amount charged to the
customer's credit card) may be presented to the user as a record of
the transaction.
[0051] In summary, the preceding discussion has been directed to
describing the configurations and functions of each of the several
components, data structures, and subsystems of the electronic
travel agent system generally depicted in FIG. 2. The following
discussion is presented as a detailed description of the
interactions of the described components, data structures, and
subsystems through processes performed in accordance with
implementations of the invention.
Operation of an Exemplary Electronic Exchange Matching System
[0052] FIGS. 13-19 are logical flow diagrams that generally
illustrate several processes performed by the illustrative
electronic travel agent system illustrated in FIGS. 1-12 and
described above. The general and specific operation of the system
200 is illustrated through the several flow diagrams described
below, with reference to the components of the system described
above and illustrated in FIGS. 1-12.
[0053] FIG. 13 is a logical flow diagram generally illustrating a
process performed by the system 200 to satisfy an offer from a
customer with a quote from one or more suppliers. The process
begins at step 1303, where the system 200 receives customer offer
information. The functions performed at step 1303 are illustrated
in detail in FIG. 14 and described below. Briefly described, the
customer provides sufficient information for the system 200 to
initiate the offer matching process. For example, in the described
embodiment, the customer should at least identify an offer price
and a description of the goods or services, such as a travel
destination. The customer may additionally identify an area within
the destination and a minimum desired hotel class rating. In
addition, the system 200, may request payment (e.g., credit card)
information from the customer prior to proceeding with the offer
process. Once that information is received, the process continues
to step 1305.
[0054] At step 1305, rates are requested from suppliers (e.g.,
hotels) that may possibly satisfy the customer's offer. The
functions performed at step 1305 are illustrated in detail in FIG.
15 and described below. Briefly described, the ETA 202 identifies
hotels within the hotel network 204 that are within the destination
(and area if appropriate) identified in the customer's offer. If a
minimum hotel class rating was specified, only hotels, satisfying
at least that rating are identified. The ETA 202 then requests
rates from those identified hotels. For reasons that are explained
below, each hotel may return a ladder of rates for the particular
accommodations sought. In other words, a hotel may return several,
different rates that the hotel is willing to accept for the
accommodations (i.e., the same hotel room). After the rates are
returned from the identified hotels (or a timeout has occurred),
the process continues to step 1307.
[0055] At step 1307, the "winning" hotel is identified. The
functions performed at step 1307 are illustrated in detail in FIG.
16 and described below. Briefly described, the ETA 202 identifies
the hotel returning the lowest rate as the winning hotel. If the
offer includes a minimum hotel rating, the ETA 202 may identify the
hotel having the highest rating and the lowest price as the winning
hotel. It should be appreciated that this brief description assumes
that at least one hotel returned a rate below the customer's offer
(factoring in a reasonable broker's profit). After the winning
hotel has been identified, the process continues to step 1309.
[0056] At step 1309, the accommodations are booked with the winning
hotel. The functions performed at step 1309 are illustrated in
detail in FIG. 19 and described below. Briefly described, the ETA
202 determines whether the winning hotel provided other rates for
the accommodations. As mentioned above, each hotel may provide
several, different rates for the same accommodations. If the
winning hotel provided other rates, the system books the highest
rate provided that is still below the customer's offer (adjusted to
account for transactional costs, desired broker's profit, and the
like). Thus, although the winning hotel provided the lowest rate to
win the offer, the hotel is still able to increase its average
daily rate for accommodations booked through the system 200 by
providing rates in addition to the lowest acceptable rate.
[0057] At step 1311, the customer is charged for the
accommodations. Typically, the customer's credit card is charged
the offer amount, unless, in rare circumstances, the offer amount
actually exceeds the published rate for the winning hotel. In that
case, to protect the customer, the customer is only charged the
published rate. It should be noted that the customer might be
charged taxes, which may make the actual amount charged to the
customer's credit card slightly higher than the offer amount.
Alternatively, the offer amount may be adjusted in advance to
reflect an estimate of the taxes that will be charged, in which
case the amount charged to the customer's credit card may not
exceed the offer amount. Once the customer has been charged, and
appropriate notifications given, the process illustrated in FIG. 13
terminates.
[0058] FIG. 14 is a logical flow diagram generally illustrating the
functions performed at step 1303 of the process illustrated in FIG.
13 to receive customer offer information. The process of FIG. 14
begins at step 1403, where the customer is prompted for information
about the customer's travel plans, in particular the travel
destination (e.g., a city) and the dates of travel. For example,
the customer may be presented with the initial screen display 701
illustrated in FIG. 7 and described above.
[0059] At step 1405, the ETA 202 receives the travel information
from the customer. The travel information may be received at the
Web server 222 via the user interface component 303. As mentioned
above, the information provided in each of the several data entry
fields of the initial user interface 701 may be transmitted to the
Web server 222 in response to activating the next button 709.
[0060] At decision step 1407, the ETA 202 determines whether the
destination provided with the travel information includes more than
a single area. The Web server 222 may issue a request to the hotel
finder 226 to make the determination. The hotel finder 226 may
query the hotel database 307 to determine whether the identified
destination includes multiple areas. If not, the process continues
to step 1413, described below. If the identified destination does
include multiple areas, the process continues to step 1409.
[0061] At step 1409, the customer is prompted to select an area
within the destination. To perform this step, the Web server 222,
via the user interface 303, may present the customer machine 201
with the area selection screen 801. As discussed above, the area
selection screen presents the customer with two or more areas from
which to choose one or more desired areas. At step 1411, the Web
server 222 receives the selected area or areas from the customer
machine 201 and the process continues to step 1413.
[0062] At step 1413, the customer is prompted to provide a desired
hotel rating and a desired offer price. The customer may be
presented with the offer-price screen 901 illustrated in FIG. 9 and
described above. Optionally, the Web server 222, via the hotel
finder 226 and hotel database 307, may identify which class (e.g.,
hotel star rating) of accommodations is available within the
customer's selected area or areas. Likewise, the Web server 222,
via the hotel finder 226 and hotel database 307, may calculate an
average rate for each class of hotel. That information may be
incorporated into the offer-price screen 901 prior to transmission
to the customer machine 201. In that manner, the customer is
presented with only options that have actual meaning in the
customer's selected areas. The ETA 202 receives, via the Web server
222, the customer's minimum desired hotel rating and the offer
price at step 1415.
[0063] FIG. 15 is a logical flow diagram generally illustrating a
process performed by the ETA 202 to request rates from hotels
within the customer's selected areas. The process begins at step
1503 where the hotels within the hotel network 204 that satisfy the
customer's defined criteria are identified. For instance, the hotel
finder 226 may retrieve the hotel identifiers for those hotels in
the hotel database 307 that are within the customer's selected
areas and which have the customer's minimum desired rating.
Alternatively, the hotel finder 226 may retrieve only a limited
number of the hotels from the hotel database 307. For example, to
avoid overwhelming the booking system 203, the hotel finder 226 may
retrieve only ten (or any other number) randomly-selected hotels
within the selected areas. The hotel finder 226 may additionally
retrieve a number of identifiers associated with hotels having a
higher rating than the minimum set by the customer. Once the
potential hotels are identified, the process continues to step
1505.
[0064] At step 1505, a request for rates and availability is issued
to the booking system 203 for each hotel identified at step 1503.
Those skilled in the art will appreciate that each request may be
issued by the travel server 224 to the booking system in the form
of an "avail" message including the hotel identifier 503 and a rate
plan code. The hotel identifier 503 identifies the particular hotel
from which availability and rates are requested, while the rate
plan code indicates to the booking system 203 that specially
negotiated rates are being requested. The request additionally
includes other information such as the dates of travel, number of
rooms, number of occupants, smoking preference, and the like. A
separate request is issued for each hotel.
[0065] The process waits at decision step 1507 until a response is
received for each request transmitted, or until a timeout occurs.
If all the responses are received, the process returns to step 1305
of the process illustrated in FIG. 13. If a timeout occurs, the
process returns to step 1305 with those responses that have been
received.
[0066] FIG. 16 is a logical flaw diagram which, in conjunction with
FIGS. 17 and 18, generally illustrates a process for identifying a
winning hotel from those responses received by the travel server
224. Steps 1603-1611 (within the dashed-line box) illustrate a
subprocess by which the relevant hotels are grouped for evaluation.
Steps 1603-1611 are best described with reference to the chart
illustrated in FIG. 17. The process illustrated in FIG. 16 will be
described in the context of an example hotel-rate query in which
eight hotels (Hotel A through Hotel H) each returned a set of rates
for accommodations. The offer amount for this example is $150. The
lowest rate provided by each hotel is a follows: Hotel A $122,
Hotel B $132, Hotel C $152, Hotel D $144, Hotel E $137, Hotel F
$120, Hotel G $127, and Hotel H $123.
[0067] At step 1603, the ETA 202 calculates a value, BV.sub.1, that
represents the customer's offer amount adjusted for the
transactional costs of booking the accommodations and also adjusted
for any promotional or other special circumstances. BV.sub.1 is
calculated using the following equation:
BV.sub.1=Offer*(1-X)-Y+Z
where "Offer" is the customer's offer amount, "X" is the cost of
the transaction as a percentage, "Y" is a fixed cost of the
transaction, and "Z" is a factor which allows for promotions or
other variances to the equation (may be either positive or
negative, depending on circumstances). Thus, BV.sub.1 is the value
above which it is economically impractical to pursue booking
accommodations. In this example, the offer amount is $150 and the
calculated value of BV.sub.1 is $140.
[0068] At step 1605, the ETA 202 calculates another value,
BV.sub.2, that represents the customer's offer amount adjusted only
for the transactional costs and for a minimum desired profit.
BV.sub.2 is calculated using the following equation:
BV.sub.2=Offer*(1-X)-Y+P
where "Offer" is the customer's offer amount, "X" is the cost of
the transaction as a percentage, "Y" is a fixed cost of the
transaction, and "P" is the minimum desired profit for the
transaction. In this example, the offer amount is $150 and the
calculated value of BV.sub.2 is $130.
[0069] At decision step 1607, a determination is made whether
hotels have provided rate quotes below BV.sub.1. In other words, if
it would mot be economically practical to book a reservation at any
of the rates quoted by the selected hotels, then the customer's
offer amount is too low and the process returns an error at step
1609. The error may be handled in any conventional manner, such as
by prompting the customer for more information or simply indicating
to the customer that a match could not be found. In addition, the
offer history database 309 may be updated to reflect the offer.
[0070] At step 1611, the hotels are each assigned to a Group
according to the lowest rate provided by each hotel. The functions
performed at step 1611 are best described with reference to the
chart illustrated in FIG. 17. Referring now to FIG. 17, there is
shown a chart having each hotel (e.g., Hotel A to Hotel H) along
the X-axis, and dollar values along the Y-axis. The customer's
offer 1702 is represented by the uppermost dashed line. Also
plotted are the computed values of BV.sub.1 1704 and BV.sub.2 1706.
The data points plotted on the chart represent the lowest rate
quoted by each of the several hotels. For example, Hotel A, a
four-star hotel, provided a rate quote below BV.sub.2. It should be
appreciated that each of the several hotels may have provided
multiple rate quotes, but only the lowest provided by each is
represented on the chart in FIG. 17.
[0071] Returning to step 1611 of FIG. 16, and still referring to
FIG. 17, those hotels with rates within the range between BV and
BV.sub.2 (e.g., $130<rate<$140) are assigned to Group A,
while, those hotels with rates below BV.sub.2 (e.g., rate<$130)
are assigned to Group B. Thus, in this example, Hotels B ($132) and
E ($137) are in Group A, while Hotels A ($122), F ($120), G ($127),
and H ($123) are in Group B. Those hotels not having a lowest rate
below BV.sub.1 (e.g., Hotels C ($152) and D ($144)) are
discarded.
[0072] At step 1613, the hotels in Groups A and B are stack ranked.
The hotels in Group A (e.g., Hotels B and E) are ranked strictly
according to price (e.g., without regard to hotel class), e.g., the
lower the price the higher the ranking. The hotels in Group B
(e.g., Hotels A, F, G, and H) are ranked first according to hotel
class rating (e.g., the higher the rating, the higher the ranking),
and then by price (again, the lower the price, the higher the
ranking). The resulting stack is illustrated in FIG. 18. Thus, it
will be appreciated that the hotels are ranked as follows:
TABLE-US-00001 highest Hotel A $122 4 star Hotel G $127 4 star
Hotel F $120 3 star Hotel H $123 3 star Hotel B $132 3 star lowest
Hotel E $137 4 star
[0073] At step 1615, the hotel ranked the highest (Hotel A in this
example) is selected as the winning hotel. It should be
appreciated, with reference to FIG. 17, that Hotel A is the winning
hotel despite the fact that another hotel, Hotel F, actually
provided a lower rate quote $120<$122). Indeed, under the scheme
employed by this embodiment of the invention; even Hotel G ranks
above Hotel F despite the higher cost of Hotel G (i.e., $127 versus
$120). This is a result of giving preference to the'hotel class
rating over price for those Hotels that provide rate quotes below
BV.sub.2. When the winning hotel is selected the process returns
the winner to step 1307 of the process illustrated in FIG. 13.
[0074] FIG. 19 is a logical flow diagram generally illustrating a
process for booking the accommodations with the winning hotel. It
will be appreciated from the following discussion that, although
the hotel having the lowest quoted rate is selected as the winner
of the offer, the actual rate booked for the accommodations may be
higher than the winning rate if the winning hotel provided multiple
rates. The process begins at decision block 1903 where a
determination is made whether the rate used to select the winning
hotel is below BV.sub.2. For instance, the travel server 224 or
other component of the ETA 202 may compare the winning hotel's rate
against the value of BV.sub.2 calculated above. If that rate is not
below BV.sub.2, the process continues to step 1905, where the
lowest rate is selected to be booked for the accommodations.
However, if the winning rate is below BV.sub.2, the process
continues to step 1907.
[0075] At step 1907, the travel server 224 determines whether the
winning hotel provided any other rates for the accommodations. As
mentioned above, in response to the request for availability, the
several hotels may submit several different rates for the same
accommodations. If the winning hotel provided other rates in
addition to the rate that won the offer, the travel server 224, at
step 1909, selects the highest such rate that is still below
BV.sub.2 as the rate to be booked. In this manner, although the
hotel was willing to provide accommodations at the winning rate,
the hotel may be benefited by the system 200 in the form of
bookings at rates that are higher than the lowest rate risked by
the hotel, yet still satisfy the customer's offer.
[0076] At decision step 1911, a determination is made whether the
rate selected for booking (e.g., either the winning rate or a
higher rate) is higher than the winning hotel's published rate for
the accommodations. Decision step 1911 is essentially a
customer-protection reality check to ensure that customers are not
charged for accommodations made through the system 200 in excess of
what would be charged having gone through conventional travel
arrangements. If the selected rate is above the published rate,
then, at step 1913, the published rate is selected for booking and
the process continues to step 1915. Otherwise, the currently
selected rate remains the desired rate and the process continues to
step 1915.
[0077] At step 1915, the travel server 224 attempts negotiate the
purchase of the product, in this example attempts to book the
accommodations with the booking system 203 at the selected rate.
If, at decision step 1917, the travel server 224 is successful at
booking the accommodations at the selected rate, the process
returns success to step 1309 illustrated in FIG. 13. However, if
the travel server 224 fails to successfully book the
accommodations, the process continues to step 1921.
[0078] At step 1921, the travel server 224 was unable to book the
accommodations with the winning hotel; for example, a hotel
providing a rate quote may respond that it no longer has
availability at that rate. Accordingly, the winning hotel is
removed from the ranked list of potential hotels (illustrated in
FIG. 18). Then, at step 1923, the newly-highest ranking hotel is
selected as the new winning hotel. The process then returns to
decision step 1903 and repeats as described above.
[0079] Although the system chosen to describe the present invention
is an electronic travel agent system, those skilled in the art will
appreciate that many other electronic exchanges may benefit equally
from the present invention. Moreover, the described implementations
of the invention are susceptible to various modifications and
alternative constructions. It should be understood, that there is
no intention to limit the invention to the specific form or forms
disclosed, but on the contrary, the intention is to cover all
modifications, alternative constructions, and equivalents falling
within the spirit and scope of the invention.
* * * * *