Abstract:

A method and system for computing the price of a railway transportation
service for the shipping goods is provided. A computer delivers first
information to a user prompting the user to enter at the computer
information about a rail route for shipment of goods by one or more
railcars. A price for the shipment of the goods is then computed at least
in part on the basis of the information about the rail route and the
ownership of the one or more railcars. The computer displays to the user
the price for the shipment of the goods or, alternatively, the price for
the shipment of the goods is provided to the user via other ways such as
e-mail, snail-mail or fax.

Claims:

1-5. (canceled)

6. A method for delivering a price from a railway transportation company
to a customer for shipping a commodity by rail, the method implemented by
a system comprising a computing device associated with the customer, the
method including:a) displaying at the computing device one or more
information gathering fields to allow the customer to specify an origin
and destination of the shipment;b) displaying at the computing device a
railcar information gathering field that that allows the customer select
an input option amongst a plurality of input options, wherein:i) a first
input option amongst the plurality of input options indicates that a
railcar to be used for shipping the commodity is owned by the rail
transportation company;ii) a second input option amongst the plurality of
input options indicates that a railcar to be used for shipping the
commodity is owned by a party other than the rail transpiration
company;c) displaying at the computing device a control operable by the
customer to cause a price for shipping the commodity to be computed on
the basis of multiple factors including the input option selected amongst
the plurality of input options;d) displaying at the computing device the
computed price.

7. A method as defined in claim 6, further including displaying at the
computing device an information gathering field presenting the customer
with an option to select a railcar type among several railcar types for
use in shipping the commodity, the price for shipping the commodity being
computed on the basis of multiple factors including the railcar type
selected by the customer.

8. A computer readable medium including a program element implementing a
graphical user interface (GUI) allowing a railway transportation company
to deliver to a customer a price for shipping a commodity by rail, the
GUI comprising:a) an origin and destination information gathering fields
allowing a customer to specify an origin and destination of the
shipment;b) a railcar information gathering field that that allows the
customer to select an input option amongst a plurality of input options,
wherein:i) a first input option amongst the plurality of input options
indicates that a railcar to be used for shipping the commodity is owned
by the rail transportation company;ii) a second input option amongst the
plurality of input options indicates that a railcar to be used for
shipping the commodity is owned by a party other than the rail
transpiration company;c) a control component operable by the customer to
cause a price for shipping the commodity to be computed on the basis of
multiple factors including the input option selected amongst the
plurality of input options;d) a price display field for displaying to the
customer the price for shipping the commodity.

9. A computer readable medium as defined in claim 8, further including a
railcar type information gathering field presenting the customer with an
option to select a railcar type among several railcar types for use in
shipping the commodity, the price for shipping the commodity being
computed on the basis of multiple factors including the railcar type
selected by the customer.

10. A computer readable medium as defined in claim 9, wherein the railcar
type information gathering field displays to the customer a list of
available railcar types, allowing the customer to select a railcar type
among the railcar types in the list.

11. A computer readable medium as defined in claim 8, wherein the GUI
includes a railcar service information gathering field presenting the
customer with an input option to select one or more services to be
performed on one or more of the railcars used for shipping the commodity,
the one or more service being selected from a group of services
consisting of cleaning the railcar, unloading the railcar, refrigerating
the railcar, demurrage services and customs services, the price display
field displaying to the customer a price for shipping the commodity
computed on the basis of multiple factors including the one or more
services selected by the customer.

12. A method for a railway transportation company to provide a customer
with a price for shipping a commodity by one or more railcars, the method
comprising:a) receiving at a network server that communicates with a
customer's computer over a data network:i) information input by the
customer that specifies an origin of the shipment of the commodity;ii)
information input by the customer that specifies a destination of the
shipment of the commodity;iii) information input by the customer
specifying that a railcar that is to be used for shipping the commodity
is owned by an entity other than the rail transportation company;b)
generating a price for shipping the commodity computed on the basis of
multiple factors including the information input by the customer
specifying that a railcar that is to be used for shipping the commodity
is owned by an entity other than the rail transportation company;c)
sending data to the customer's computer to display the price for shipping
the commodity to the customer.

13. A method as defined in claim 12, further including receiving at the
network server information input by the customer that specifies a railcar
type for use in shipping the commodity, the method including using the
railcar type specified by the customer as a factor in generating the
price for shipping the commodity.

14. A method as defined in claim 12, wherein the network server receives
from the customer's computer information that specifies one or more
services to be performed on one or more of the railcars used for shipping
the commodity, the one or more service being selected from the group
consisting of cleaning the railcar, unloading the railcar, refrigerating
the railcar, demurrage services and customs services, the method
including using the one or more services specified by the customer as a
factor in generating the price for shipping the commodity.

15. A method as defined in claim 12, wherein the network server receives
from the client's computer information provided by the customer that
specifies a railcar type to use for shipping the commodity, said method
comprising generating a price for shipping the commodity computed on the
basis of multiple factors including the railcar type provided by the
customer.

16. A method for a railway transportation company to electronically
receive from a customer an order for shipping a commodity by rail, the
method implemented by a system comprising a computing device associated
with the customer, the method including:a) displaying at the computing
device one or more information fields to allow the customer to specify an
origin and destination of the shipment;b) displaying at the computing
device a railcar information field that that allows the customer to
selected an input option amongst a plurality of input options, wherein:i)
a first input option selected amongst the plurality of input options
indicates that a railcar to be used for shipping the commodity is owned
by the rail transportation company;ii) a second input option amongst the
plurality of input options indicates that a railcar to be used for
shipping the commodity is owned by a party other than the rail
transpiration company;c) displaying at the computing device a control
operable by the customer to order from the transportation company a
transportation service for shipping the commodity using a railcar
according to the input option selected amongst the plurality of input
options.

17. A method for delivering a price from a railway transportation company
to a customer for shipping a commodity by rail, the method implemented by
a system comprising a computing device associated with the customer, the
method including:a) displaying at the computing device one or more
information gathering fields to allow the customer to specify an origin
and destination of the shipment;b) displaying at the computing device a
railcar information gathering field that that enables the customer to
select an input option amongst a plurality of input options, wherein:i) a
first input option amongst the plurality of input options indicates that
a railcar to be used for shipping the commodity is owned by the
customer;ii) a second input option amongst the plurality of input options
indicates that a railcar to be used for shipping the commodity is owned
by a party other than the customer;c) displaying at the computing device
a control operable by the customer to cause a price for shipping the
commodity to be computed on the basis of multiple factors including the
input option selected amongst the plurality of input options;d)
displaying at the computing device the computed price for shipping the
commodity.

18. A method for delivering a quote from a railway transportation company
to a customer for shipping a commodity by rail, the method being
implemented on a computing device, the method comprising:a) presenting a
customer with an option to specify an origin and destination of the
shipment;b) presenting the customer with an option to specify a railcar
owner whose one or more railcars are to be used for shipping the
commodity, the option to specify a railcar owner allowing the customer to
specify an entity as railcar owner that is distinct from the railway
transportation company;c) computing a price quote for shipping the
commodity on the basis of multiple factors including the entity specified
by the customer as railcar owner;d) providing the customer with the price
quote for shipping the commodity computed on the basis of multiple
factors including the entity specified by the customer as railcar owner.

19. A method as defined in claim 18, further including presenting the
customer with an option to select a railcar type among several railcar
types for use in shipping the commodity, the price quote being computed
on the basis of multiple factors including:a) the entity specified by the
customer as railcar owner; andb) the railcar type selected by the
customer.

20. A computer readable medium including a program element implementing a
graphical user interface (GUI) allowing a railway transportation company
to deliver to a customer a quote for shipping a commodity by rail, the
GUI comprising:a) an origin and destination field allowing a customer to
specify an origin and destination of the shipment;b) a railcar owner
selection field presenting the customer with an input option to specify a
railcar owner whose one or more railcars are to be used for shipping the
commodity, the input option allowing the customer to specify an entity as
railcar owner that is distinct from the railway transportation company;c)
a control component for allowing the customer to cause a price quote for
shipping the commodity to be computed on the basis of multiple factors
including the entity specified by the customer as railcar owner;d) a
price quotation field for displaying to the customer the price quote for
shipping the commodity computed on the basis of multiple factors
including the entity specified by the customer as railcar owner.

21. A computer readable medium as defined in claim 20, further including a
railcar type selection field presenting the customer with an input option
to select a railcar type among several railcar types for use in shipping
the commodity, the price quote displayed in the price quotation field
being computed on the basis of multiple factors including:a) the entity
specified by the customer as railcar owner; andb) the railcar type
selected by the customer.

22. A computer readable medium as defined in claim 21, wherein the railcar
type selection field displays to the customer a list of available railcar
types, allowing the customer to select a railcar type among the railcar
types in the list.

23. A computer readable medium as defined in claim 21, wherein the GUI
includes a railcar service selection field presenting the customer with
an input option to select one or more services to be performed on one or
more of the railcars used for shipping the commodity, the one or more
service being selected from a group of services including cleaning the
railcar, unloading the railcar, refrigerating the railcar, demurrage
services and customs services, the price quotation field displaying to
the customer a price quote for shipping the commodity computed on the
basis of multiple factors including the entity specified by the customer
as railcar owner and the one or more services selected to be performed on
the one or more of the railcars selected by the customer.

Description:

CROSS REFERENCE TO RELATED APPLICATION

[0001]The present application is a continuation of U.S. patent application
Ser. No. 10/060,403 filed Feb. 1, 2002 and presently pending. The
contents of the above referenced application are incorporated herein by
reference.

FIELD OF THE INVENTION

[0002]The present invention relates to a system and method for
facilitating on-line commerce over a computer network such as the
Internet. More specifically, the present invention relates to a system
for enabling a customer to obtain, over a computer network, a price
quotation for a railway transportation service.

BACKGROUND OF THE INVENTION

[0003]Traditionally, price quotations for standard goods and services have
been given via catalogue, telephone, facsimile and more recently
electronically via web pages on global computer networks such as the
Internet. Internet service providers are, more and more, connecting users
to the Internet at no cost to the users, thereby making the Internet more
accessible to a wide range of users. Many of the users connected to the
Internet, or having access to other forms of computer networks are
choosing to conduct activities relating to commerce over these networks.
At the same time, merchants are increasingly developing sites on the
World Wide Web (or simply "www" or "web") that customers can access in
order to purchase goods and/or services. It is now fairly common for a
customer to browse a merchant's catalogue, select a product or service
and place an order for the product or service all electronically over the
Internet.

[0004]For example, U.S. Pat. No. 6,115,690, issued on Sep. 5, 2000 to
Wong, describes a software system for providing integrated
business-to-business Web commerce and business automation. The end-to-end
Web business is facilitated by using a computing model based on a single
integrated database management system. The software provides a graphical
user interface that allows a user to obtain a quote for a product based
on a merchant's product list. The quote is assigned a quote number and
saved in a database management system, and may be retrieved and viewed at
a later date by the customer. Customers and vendors can view payment
status, previous quotes and product tracking information. The contents of
the above documents are hereby incorporated by reference.

[0005]In another example, U.S. Pat. No. 5,926,817, issued on Jul. 20, 1999
to Christeson et al., describes a Graphical User Interface (GUI) that
allows a user to select optional features relating to a product or
service, and then provides the user with immediate feedback in the form
of product availability and price quotations. The GUI allows the user to
select a product/service, as well as to select and unselect a set of
optional features to customize a desired product/service. The system, on
the basis of the information provided by the user generates a quote for
that product/service and the quote is displayed on the GUI. This system
is directed for use by communication service companies for providing
dynamic price quoting to their clients when the latter select particular
service features. The contents of the above documents are hereby
incorporated by reference.

[0006]In the above-described documents, the user is provided with
predefined goods and services from which the user makes a selection. Such
a method generally provides little choice in terms of the definition of
the service to be provided and, as such, these systems are generally
ill-suited for providing price quotations in the field of transportation
services.

[0007]In the field of transportation services, systems providing price
quotations based on origin, destination and commodity types have also
been developed. U.S. Pat. No. 6,061,667, issued on. May 9, 2000 to
Danford-Klein et al., describes a rating engine for processing rating
requests associated with a carrier contract. The system provides a base
rating engine for use on a computer that is operable to calculate line
rates in response to a rating request by a client application. A rating
server application performs the necessary calculations regarding a rating
request and returns the results of the request to a client application.
The contents of the above documents are hereby incorporated by reference.

[0008]A deficiency of the systems of the type described in Danford-Klein
et al. is that they provide limited flexibility in the price quotation
process for a transportation service. The price quotations are typically
generic quotations given to all customers. In order for a customer to
obtain a more customized price quotation, the customer must generally
contact an account manager in the traditional manner via telephone, mail,
e-mail or other means. This type of interaction is costly from both the
customer's end and from the transportation service provider's end since
valuable resources in terms of man-hours must be dedicated to these
telephone, mail, e-mail and other contacts.

[0009]Consequently there exists a need in the industry to provide an
improved system and method for providing a price quotation for a railway
transportation service that alleviates at least in part the deficiencies
of prior art systems and methods.

SUMMARY OF THE INVENTION

[0010]In accordance with a broad aspect, the invention provides a method
for computing the price of shipping goods. The method includes causing a
computer to deliver first information to a user prompting the user to
enter at the computer information about a rail route for shipment of
goods by one or more railcars. A price for the shipment of the goods is
then computed at least in part on the basis of the information about the
rail route and the ownership of the one or more railcars.

[0011]Advantageously, the invention allows increased flexibility in the
computation of the price for the rail transportation service for shipment
of goods since it allows the price to be adjusted on the basis of the
ownership of the one or more cars.

[0012]In accordance with a specific implementation, the delivering of the
first information to the user is done by displaying information on a
screen. The user provides the information about the rail route through an
input device such as a keyboard, pointing device, touch sensitive
surface, speech recognition unit or any other suitable input device.

[0013]In a first non-limiting implementation, the computer displays to the
user the price for the shipment of the goods. Alternatively, the price
for the shipment of the goods is provided to the user via other ways such
as e-mail, snail-mail, fax or any other suitable fashion.

[0014]In accordance with a specific implementation, the information about
the rail route includes information specifying an origin of the shipment
and a destination of the shipment. A series of routes between the origin
and the destination of the shipment is provided among which the user can
select at least one route. The entry at the computer of information about
the rail route by the user includes the user selecting a route in the
series of routes.

[0015]In accordance with the specific implementation, the user is also
prompted to enter at the computer information about the ownership of the
one or more railcars. The information about the ownership of the one or
more railcars identifies a party that owns the one or more railcars for
shipping the goods. The information about the ownership indicates the
owner of the one or more railcars that the user wants to use for shipping
the goods.

[0016]Advantageously, the invention allows to user to select an owner from
a series of possible owners for one or more railcars that the user wants
to use for shipping the goods. This provides increased flexibility in the
computation of the price for the rail transportation service for shipment
of goods since it allows the user at the customer's side to customize the
service request based on the ownership of the railcars used without
requiring human interaction from the transportation service provider.

[0017]In accordance with a non-limiting implementation, a database mapping
information identifying railcars and information identifying the
respective parties that own the railcars-is processed to extract from the
database information identifying the party that own the one or more
railcars for shipping the goods.

[0018]In accordance with another non-limiting implementation, a user
profile including information about the ownership of the one or more
railcars for shipping the goods is searched to extracting from the user
profile file the information about the ownership. The information about
the ownership of the one or more railcars includes information
identifying a party that owns the one or more railcars for shipping the
goods.

[0019]In accordance with another aspect, the invention provides a method
for requesting a quote for a price of shipping goods by rail. The method
includes displaying first information at a client system prompting a user
to enter at the client system information about a rail route for shipment
of goods by one or more railcars. A second information is displayed at
the client system prompting the user to enter at the client system
information about ownership of the one or more railcars. The information
about the rail route for shipment of goods by one or more railcars and
the information about ownership of the one or more railcars are then sent
to a server system. At the client system information about the price for
the shipment of the goods are received from the server system and
displayed to the user at the client system.

[0020]In a specific non-limiting implementation, the client system and the
server system communicate via the Internet and the client system displays
the first information, the second information and the information about
the price for the shipment through a browser.

[0021]In accordance with another broad aspect, the invention provides an
apparatus for implementing the above-described methods.

[0022]In accordance with yet another broad aspect, the invention provides
a computer readable medium including a program element suitable for
execution by a CPU for computing the price of a railway transportation
service for the shipping goods in accordance with the above described
methods.

[0023]In accordance with another broad aspect, the invention provides a
server system including a computer readable medium including a program
element suitable for execution by a CPU for computing the price of a
railway transportation service for the shipping goods in accordance with
the above described methods.

[0024]In accordance with another broad aspect, the invention provides, a
computer readable lo storage medium containing a program element for
execution by a CPU. The program element includes a first program element
component for causing a computer to deliver first information to a user
prompting the user to enter at the computer information about a rail
route for shipment of goods by one or more railcars. A second program
element component is also provided for computing a price for the shipment
of the goods at least in part on the basis of the information about the
rail route and on the ownership of the one or more railcars.

[0025]In a first non-limiting implementation, the CPU resides on a server
machine and the computer is a client machine in a network arrangement
with the server machine. The first program element component generates
control messages to the client machine to cause the client machine to
display the first information to the user. The control messages are in
the form of HTTP messages allowing the client machine displays the first
information to the user through a browser.

[0026]In a second non-limiting implementation, the CPU resides in the
computer.

[0027]In accordance with another broad aspect, the invention provided a
server system for computing a quote for a price of shipping goods by
rail. The server system includes a program element for execution by a
CPU. The program element includes a first program element component for
causing a client system connected to the server via the Internet to
display first information to a user. The first information prompts the
user to enter at the client system information for transmission to the
server system about a rail route for shipment of goods by one or more
railcars. A second program element component is also provided for
computing a price for the shipment of the goods at least in part on the
basis of the information about the rail route and ownership of the one or
more railcars.

[0028]In accordance with a non-limiting implementation, a third program
element component for causing the client system to display to the user
the price for the shipment of the goods.

[0029]In accordance with yet another broad aspect, the invention provides
a client-server system for computing a quote for a price of shipping
goods by rail. The client-server system includes a client system and a
server system operative to exchange messages over a data network. A first
program element component is executed on the server system for sending
messages to the client system for causing the client system to display
first information to a user. The first information prompts the user to
enter at the client system information about a rail route for shipment of
goods by one or more railcars. The client system is operative to send
messages to the server to communicate the information about the rail
route. A second program element component is also executed on the server
for computing a price for the shipment of the goods at least in part on
the basis of the information about the rail route and the ownership of
the one or more railcars.

[0030]In accordance with a non-limiting implementation, a third program
element component is executed on the server for sending messages to the
client system for causing the client system to display to the user the
price for the shipment of the goods computed by the second program
element. The client system displays the first information and the price
for the shipment of the goods computed by the second program element
through a browser.

[0031]Other aspects and features of the present invention will become
apparent to those ordinarily skilled in the art upon review of the
following description of specific embodiments of the invention in
conjunction with the accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

[0032]A detailed description of examples of implementation of the present
invention is provided hereinbelow with reference to the following
drawings, in which:

[0033]FIG. 1 is a block diagram of an electronic railway price
quotation/ordering system suitable for providing price quotations for a
railway transportation service in accordance with a non-limiting
implementation of the invention, including a merchant computing entity
104, a network 106, and a customer entity 102 having a plurality of
computing units;

[0034]FIG. 2a is a block diagram depicting one of the customer computing
units of customer entity 102 shown in FIG. 1 in accordance with a
non-limiting implementation of the invention;

[0035]FIG. 2b is a block diagram depicting the merchant computing system
120 shown in FIG. 1 in accordance with a non-limiting implementation of
the invention;

[0036]FIG. 3 is a high level flow diagram of the process for
electronically providing price quotations for a railway transportation
service in accordance with a non-limiting specific example of
implementation of the present invention;

[0037]FIG. 4 depicts a user interface for allowing a user to logon or to
register with the electronic railway price quotation/ordering system 100
in accordance with a specific example of implementation of the present
invention;

[0038]FIG. 5 is a flow diagram of a customer registration process for the
electronic railway price quotation/ordering system 100 in accordance with
a specific example of implementation of the present invention;

[0039]FIG. 6 depicts a user interface for allowing a user to select the
electronic railway price quotation/ordering system from a set of choices
in accordance with a specific example of implementation of the present
invention;

[0040]FIG. 7 depicts a user interface displaying a "railway transportation
ordering" page 700 of the electronic railway price quotation/ordering
system in accordance with a specific example of implementation of the
present invention;

[0041]FIG. 8 illustrates a graphical representation of two different
routes between Montreal and Dallas on a geographical map;

[0042]FIG. 9 shows a user interface depicting a "route display" page 900
of the electronic railway price quotation/ordering system in accordance
with a specific example of implementation of the present invention;

[0043]FIG. 10 shows a user interface depicting an "equipment selection"
page 1001 of the electronic railway price quotation/ordering system in
accordance with a specific example of implementation of the present
invention;

[0044]FIG. 11 is a flow diagram depicting a process for generating a price
quote for a rail transportation service in accordance with a specific
example of implementation of the present invention.

[0045]In the drawings, embodiments of the invention are illustrated by way
of example. It is to be expressly understood that the description and
drawings are only for the purposes of illustration and as an aid to
understanding, and are not intended to be a definition of the limits of
the invention.

DETAILED DESCRIPTION

[0046]The detailed description below refers to a railway price
quotation/ordering system where the transportation services provided are
offered by railway carriers using trains and railcars. The skilled person
in the art will appreciate that the system described herein below may
also be applied to transportation services other than railway
transportation services. For example, other transportation services that
provide for the transportation of goods from an origin location to a
destination location include transportation via trucks, boats, airplanes
and combinations of trucks, boats, airplanes and railways.

[0047]Shown in FIG. 1 is an electronic railway price quotation/ordering
system 100 in accordance with a specific example of implementation of the
present invention for providing price quotations for a railway
transportation service. As shown, the railway price quotation/ordering
system 100 includes a customer entity 102 and a merchant entity 104. For
the purposes of this specification, merchant entity 104 is a railway
carrier capable of providing railway transportation services The customer
entity 102 includes a plurality of customer computing units 112, 114 and
116 and the merchant entity 104 includes a merchant computing system 120.
The merchant computing system 120 and the customer computing units 112,
114 and 116 are interconnected through a network 106.

[0048]The network 106 is a data communication network interconnecting the
customer entity 102 and the merchant computing system 120. In a specific
example of implementation, the network 106 is a public network. In the
illustrated implementation, the data communication network 106 is
embodied in the Internet. It is to be noted that the data communication
network 106 may be implemented as a network other than the Internet such
as an interactive television network, a private network such as an
Intranet, LAN, WAN, VPN or any other suitable network.

[0049]The customer entity 102 includes potential customers of the railway
price quotation/ordering system 100. In the example shown, the customer
entity 102 comprises three computing units 112, 114 and 116 each
associated to a respective user 122, 124 and 126. The computing units
112, 114 and 116 are generally in the form of personal computers,
although other types of computing units may be used including laptops,
notebooks, hand-held computers, set top boxes, and the likes. The
computing units 112, 114 and 116 may be connected to one another over an
Intranet or may be stand-alone computing units. For example, computing
units 112 and 114 are connected over an Intranet 118 and computing unit
116 is a stand-alone unit. Each of the computing units 112, 114 and 116
is provided with a connection to network 106. The connection may be a
permanent connection through a server at the customer's premises, or
alternatively, a given computing unit may occasionally connect to the
network 106 through the use of a dial-up connection using suitable
devices such as a modem for example. It will be readily appreciated that
customer entity 102 may include less than three computing units as well
as more than three computing units.

[0050]The merchant computing system 120 and the computing units 112, 114
and 116 include tools for facilitating on-line commerce transactions
between the customer entity 102 and the merchant entity 104.
Specifically, the electronic railway price quotation/ordering system 100
described above allows a customer to obtain a price quotation for a
certain specific railway transportation service over computer network 106
and to order the specific railway transportation service on the basis of
the price quotation. The merchant entity 104 is enabled to provide a
price quotation for the customer's requested transportation service on
the basis of criteria provided by the customer.

[0051]Customer Computing Unit 112

[0052]FIG. 2A depicts a block diagram of customer computing unit 112. The
structure and functionality of customer computing units 114 and 116 are
identical to that of customer computing unit 112 and as such will not be
described herein. As shown, customer computing unit 112 comprises a
processor 202, a memory 206 and a network I/O 204 (input/output) for
accessing network 106. The network I/O 204 can be implemented, for
example, as a dial-up modem or as a permanent network connection. The
processor 202, which can be a CPU, is adapted to execute program elements
stored in the memory 206 for performing certain functions. More
specifically, customer computing unit 112 runs an operating system 208
that supports multiple applications. The operating system 208 is
preferably a multitasking operating system that allows simultaneous
execution of multiple applications in a graphical windowing environment.
The memory 206 also includes a browser program element 210. As will be
discussed further on in the specification, in a non-limiting
implementation, information regarding a desired railway transportation
service, a series of routes between an origin location and a destination
location and a cost for the railway transportation service is displayed
through browser program element 210. When the browser program element 210
is launched, it is executed by the processor 202 atop the operating
system 208. The customer computing unit 112 may also include e-mail
software components (not shown) as well as additional components and
modules. These have been omitted from the description for the purpose of
clarity

[0053]Merchant Computing System 120

[0054]The merchant computing system 120 includes one or more computer
servers and one or more computing apparatuses, and as such includes a
server system. The system includes program elements 218 allowing the
merchant entity 104 to manage a user interface that is able to be
provided to a computing unit (such as 112) of the customer entity 102
such that the customer at computing unit 112 can obtain a price quote for
a certain railway transportation service over network 106.

[0055]FIG. 2B shows a block diagram depicting a schematic diagram of the
merchant computing system 120. As depicted, the merchant computing system
120 comprises a processor 212, such as a CPU, a memory 216 and a network
I/O 214 (input/output) for connection to the network 106 (shown in FIG.
1). The network I/O 214 is preferably implemented as a permanent network
connection, although dial up connections may be suitable in certain
embodiments. For example, if the merchant computing system 120 interacts
with the customer computing units 112, 114 and 116 via e-mail, then a
dial-up connection may be suitable.

[0056]In a non-limiting example of implementation, the electronic railway
price quotation/ordering system 100 has a permanent network connection to
network 106. For clarity, it is this non-limiting example of
implementation that will be described in the rest of the specification.

[0057]The processor 212 is adapted to execute program elements 218 stored
in the memory 216 for performing various functions. The memory 216 also
has a data portion 220 including a customer database 222, a routing
database 224, an equipment database 226 and a commodity database 228. It
will be readily appreciated that the merchant computing system 120 may
include additional components and modules that have been omitted from the
description for the purpose of clarity.

[0058]Customer database 222 includes data elements associated to customers
of the merchant entity. Some non-limiting examples of data elements in
the database include: a customer identifier, a password, a customer
address, customer account information and potential discount rates
associated to the customer. It is within the scope of the invention for
the customer database 222 to include information regarding equipment
(i.e. railcars) belonging to specific customers. As will be described
further on in the specification, the customer database 222 is accessed by
the merchant computing system 120 when a customer logs on to the merchant
entity's website, or when specific customer profile information is
needed. A non-limiting example of implementation of customer database 222
is shown below.

[0059]Routing database 224 includes data elements associated to segments
available in the railway system used by railway carriers, each segment
being described by a respective origin junction and destination junction
pair. In a non-limiting implementation, the destination junctions are
destinations that can be reached from the origin junction without
transferring railway carriers. Optionally, the routing database includes
the distances between the origin junctions and the destination junctions
as well as an average travel time between the origin junctions and the
destination junctions. The routing database 224 includes segments
belonging to the merchant entity 104 as well as railway segments
belonging to other railway carriers. Therefore, the routing database
includes the owner associated to each of the segments listed in the
routing database 224. It should also be understood that segments can
include portions of a route that require transportation other than by
railway. A non-limiting example of a routing database is shown below.

[0060]Optionally, although not show in the table above, each segment may
also be associated to an ownership factor data element allowing to
condition the cost on the basis of the ownership of the segment. The
ownership factor for a given segment may further be dependent on the
customer making the request.

[0061]The equipment database 226 includes a plurality of records
associated to respective railcars that can be used to transport goods
from an origin location to a destination location. The records include a
plurality of fields that include data elements indicating the ownership
of the railcar as well as the route segments on which that piece of
equipment can be used. As mentioned with respect to the customer
database, as a variant the ownership of the railcars belonging to the
customers is indicated in the customer database 222. A non-limiting
example of implementation of equipment database 226 is shown below:

[0062]Finally, the commodity database 228 includes data elements
corresponding to commodities potentially selected by the customer.
Specifically, the commodity database 228 includes data elements
corresponding to each commodity including chargeable services, a price
per mile and a price per weight for transportation. Optionally, each
commodity may also be associated to a list of customers who have a high
likelihood of transporting a given commodity. A non-limiting example of
implementation of commodity database 228 is shown below:

[0063]It is to be expressly understood that other formats for each of the
above noted databases are possible without detracting from the spirit of
the invention. It should also be expressly understood that other data
fields including additional data elements could also be included and
omitted without detracting from the spirit of the invention.

[0064]The use of each of these databases will be described in greater
detail further on in the specification.

[0065]System Overview

[0066]With reference to FIG. 3, the overall interaction between a customer
at the customer entity 102 and the merchant entity 104 is described in
relation to the railway price quotation/ordering system 100 according to
an example of implementation of the present invention.

[0067]Firstly, at step 1000 the customer accesses the merchant entity's
secure website by either entering a user ID and password, or by
registering as a new customer. Once the customer's identity has been
verified by the merchant computing system 120, the customer is granted
access to the merchant entity's website.

[0068]At step 2000, the customer is presented with a graphical user
interface indicative of the merchant entity's home page. The graphical
user interface provides a number of links to various services and
products offered by the merchant entity 104. In the context of the
railway price quotation/ordering system 100, a link to the railway price
quotation/ordering module is provided. The user selects the railway price
quotation/ordering module link from the plurality of links through an
input device such as a pointing device, keyboard, touch sensitive
surface, speech recognition unit or other suitable input device.

[0069]At step 3000, the graphical user interface includes a set of data
fields that are modifiable by the customer for specifying a desired
railway transportation service. The customer is enabled to enter via the
user interface the origin location and the destination location of the
railway transportation service desired. The customer is also enabled to
enter the type and weight of the commodity, which is to be transported
between the origin location and the destination location. Optionally, the
customer is enabled to enter the preferred dates for which the
transportation service is required. The dates may include an hour, day,
month, year or season. Once the above-described information is provided,
the customer submits this information to the merchant entity 104 via
network 106.

[0070]At step 4000, the program element 218 at the merchant computing
system 120 receives and processes the origin location and the destination
location submitted by the customer to derive a list of transportation
routes between the origin location and destination location. The merchant
computing system 120 then forwards the list of transportation routes to
the customer's computing unit, which displays the routes to the customer
through a graphical user interface. The customer is then enabled to
select one of the routes for the transportation service through the user
interface using an input device such as a pointing device, keyboard,
touch sensitive surface, speech recognition unit or other suitable input
device.

[0071]At step 5000, the program element 218 at the merchant entity
processes the commodity type and the weight information to derive a list
of suitable equipment for transporting the commodity. The merchant
computing system 120 then forwards the list of equipment to the
customer's computing unit which in turn displays the list of equipment to
the customer through the graphical user interface. The customer is then
enabled to select the desired equipment to be used during transportation
from a list of possible railcars through the user interface using an
input device such as a pointing device, keyboard, touch sensitive
surface, speech recognition unit or other suitable input device.
Optionally, the graphical user interface may also enable the customer to
select customized chargeable services and submit the selections to the
merchant entity 104.

[0072]It will be readily apparent to the person skilled in the art that
the order of steps 4000 and 5000 may be interchanged or, alternatively,
steps 4000 and 5000 may be performed concurrently without detracting from
the spirit of the invention.

[0073]At step 6000, the program element 218 at the merchant computing
system 120 generates a price quotation at least in part on the basis of
the origin location, destination location, weight and type of commodity
selected at step 3000, the route selected at step 4000, and the equipment
ownership and chargeable services selected at step 5000.

[0074]Optionally, at step 7000, the merchant computing system 120 applies
marketing and promotional information in order to effect a price
adjustment of the price quotation generated at step 6000.

[0075]At step 8000, the merchant computing system 120 then forwards the
price quotation to the customer's computing unit, which displays the
price quotation to the customer through a graphical user interface.

[0076]At step 9000, the customer is enabled to accept the price quotation
or reject the price quotation. Optionally, the customer is enabled to
save the price quotation in a database located at the merchant computing
system and delay making a decision until a later time. In such an
implementation, the price quotation provided at step 8000 is associated
to a time delay during which the price quotation is valid.

[0077]Each of the above mentioned steps will be described in greater
detail hereinbelow.

[0078]Login or Register/Create a Customer Profile (Step 1000)

[0079]In order to access the electronic railway price quotation/ordering
system 100, a customer at computing unit 112 invokes browser 210 and
enters the merchant entity's specific network address. It should be
expressly understood that a customer may be a user of any computing unit
within customer entity 102 that accesses the railway price
quotation/ordering system 100. For the purposes of this description, the
user 122 at customer computing unit 112 will be called customer 122 to
indicate that user 122 is ordering a service from merchant entity 104. In
a non-limiting example of implementation, once customer 122 has entered
the merchant entity's network address, the browser 210 displays a webpage
on the customer computing unit 112. In such an implementation, the
customer is first presented with a "login/registration" webpage. A
non-limiting example of a "login/registration" webpage 400 is shown in
FIG. 4.

[0080]Prior to being able to access the railway price quotation/ordering
system, the customer either logs into the merchant entity's
"login/registration" page 400 by entering a userID and password, or
alternatively registers as a new user of the railway price
quotation/ordering service. If the customer is a "registered customer",
meaning that the customer has previously registered and has been approved
by the merchant entity, then the customer simply provides the merchant
entity with a userID and an associated password each time the customer
desires to access the railway price quotation/ordering system 100. As can
be seen in FIG. 4, in a non-limiting example of implementation, a
registered user enters the userID and associated password into customer
modifiable data fields 402 and 404 respectively, and then clicks the "go"
button 406 in order to submit this information to merchant entity 104. It
is this login information that allows the merchant entity 104 to access
the customer profile in the customer database 222.

[0081]When a "registered customer" enters a userID and a password, the
merchant entity 104 receives this login information and processes it with
respect to the customer database 222. More specifically, the processor
212 accesses the customer database 222 to locate the entry corresponding
to the userid. If no corresponding entry is found in the customer
database 222, an error message is returned to the customer. If a
corresponding entry is found, the password in the entry in the customer
database 222 is compared to the password provided in the login
information. If a match is not found, an error message is returned to the
customer. If a match is found, the customer is successfully identified
and is granted access to the website.

[0082]If the customer accessing the "login/registration" page 400 is not
registered, the user launches the registration process by selecting a
corresponding link to a "registration" webpage. The user can select the
"registration" webpage through an input device such as a pointing device,
keyboard, touch sensitive surface, speech recognition unit or other
suitable input-device. In the non-limiting example of implementation
depicted in FIG. 4, customer 122 launches the "registration" webpage by
selecting the "register" button 408.

[0083]With reference to FIG. 5, the registration process will be described
below. At step 502, customer 122 launches the "registration" webpage (no
Figure), and customer computing unit 112 downloads a registration module
implemented by program element 218 (shown in FIG. 2B) from the merchant
computing system 120. The registration module automatically launches to
aid customer 122 in the completion of the online application for
registration. In a specific example of implementation, the registration
module is configured to provide step-by-step instructions. At step 504,
customer 122 fills out the registration form that includes various fields
relating to personal and financial matters, such as company name,
address, telephone number, credit card numbers, bank affiliations, and
the like. Customer 122 also provides data related to preferred payment
methods, a userID and an associated password. Optionally, the
"registration" webpage may include data fields prompting the customer to
enter information about railcars that are owned by the customer. Some of
these information fields may be omitted and others added without
detracting from the spirit of the invention.

[0084]It is possible that customer computing units 112 and 114 will have
the same customer registration information since they are connected via
an intranet 118. In a non-limiting example, computing units 112 and 114
belong to a single company and the registration information provided to
the merchant entity 104 pertains to the company and not to the individual
users of computing units 112 and 114. As such, both customers 122 and 124
may use the same userID and password when accessing the railway price
quotation/ordering system 100.

[0085]As a variant, it is possible that the registration between the
customer and the merchant entity may be effected through the completion
of a form that is transmitted to the merchant entity 104 by mail, fax or
other suitable transmission method. These methods will be readily
apparent to the reader skilled in the art.

[0086]Once the application for registration is completed, at step 506 the
application for registration is submitted to the merchant entity 104. The
registration module facilitates this communication between the customer
computing unit 112 and -the merchant entity 104. The registration module
itself includes the necessary routing information to direct the
application over the network 106 to the merchant computing system 120. At
step 508, the merchant entity 104 reviews the application for
registration to determine whether customer 122 should be permitted to
register and whether any information is missing. If registration is
denied, for example information is missing, the customer is already
registered, or the customer requesting registration does not have
permission to do so, at step 510 the merchant entity 104 returns a
message to the customer 122 indicating that the application for
registration has been denied. Conversely, if the application is granted,
at step 512 the merchant entity 104 may return a message indicating that
the application for registration is successful.

[0087]Assuming that the application for registration is granted, at step
512 the merchant computing system 120 at the merchant entity 104 creates
a customer account entry in customer database 222 (as described and shown
previously in the specification). The customer database 222 includes
information pertaining to the customers of the merchant entity 104. In a
non-limiting example of implementation, for each customer entity, an
entry is provided including various information data elements associated
to the user. Amongst others, each entry includes a customer identifier
and a corresponding password. Optionally, each customer identifier is
associated to a respective customer profile including customer
characteristics that may be used by program elements 218 to condition the
price quotation to be generated. Such information may include without
being limited to, information indicating a discount rate to which the
customer is entitled. This will be discussed in more detail in the
section entitled "marketing options and "adjustment of price quotation".
In accordance with a non-limiting implementation, until the merchant
entity 104 has reviewed the customer's registration information, the "new
customer" has only limited interaction capabilities with the railway
price quotation/ordering system 100.

[0088]As a variant to the electronic railway transportation registration
system 100, the accessing of a registration page is not required in order
for a customer to access the merchant entity's homepage or the "railway
transportation ordering" page of the electronic railway price
quotation/ordering system 100. Under this variant, an unregistered
customer can skip step 1000 and access the "railway transportation
ordering" page directly, so as to be able to enter information regarding
a specific railway transportation service that is desired and obtain a
price quote for that service if the user desires to accept the price
quote, it is at this stage that the user completes the registration
process in order to provide the merchant entity 104 with information
regarding the customer.

[0090]Once the customer has been successfiilly identified by the login
process, or has successfully completed the registration form, customer
computing unit 112 downloads a module representative of the merchant
entity's "home" site for displaying on the screen of the customer
computing unit 112. FIG. 6 shows a simplified non-limiting example of the
merchant entity's "home" site 600. The "home" site is implemented by
program element 218 from the merchant computing system 120 and
automatically launches to aid customer 122. The railway price
quotation/ordering system 100 is part of an electronic-commerce platform
provided by the merchant entity 104 to support various
electronic-commerce activities. As can be seen, the "home" site 600
provides a number of links to various services and products offered by
the merchant entity 104. In the context of the railway price
quotation/ordering system 100, a link 602 to the railway price
quotation/ordering module is provided. The merchant entity's "home" site
may also include a link entitled "view previous price quotes" which
provide customers with the ability to view previously accepted quotes
listed by such things as "quotes by customer", "quotes by account" and
"quotes by contact".

[0091]In the non-limiting example of implementation shown in FIG. 4, in
order to request a price quote for a railway transportation service, the
customer 122 selects the "price quote and ordering" button 602 from the
merchant entity's "home" site 600. This is done through an input device
such as a pointing device, keyboard, touch sensitive surface, speech
recognition unit or other suitable input device. Once selected, the
"home" site module 600 facilitates the communication of this choice to
the merchant entity 104. The "home" site module itself includes the
necessary routing information to direct the choice selected by customer
122 to the merchant computing system 120 over network 106.

[0093]After selecting the "price quote and ordering" link 602 from the
merchant entity's "home" site 600, a "railway transportation ordering"
page is launched at customer computing unit 112. The "railway
transportation ordering" page is implemented by program element 218
(shown in FIG. 2b) at the merchant computing system 120. The program
element 218 generates control messages to the customer computing unit 112
to cause the customer computing unit 112 to display information in the
form of "railway transportation ordering" page to the customer. In a
specific example of implementation the control messages are HTTP
messages. The "railway transportation ordering" page automatically
launches to aid customer 122 in filling out the customer modifiable data
fields located on the "railway transportation ordering" page, thereby
prompting the user to enter information regarding a desired rail
transportation service. In a specific example of implementation, the
"railway transportation ordering" page is configured to provide
step-by-step instructions. In a non-limiting example of implementation,
the "railway transportation ordering" page is a graphical user interface
implementing a form that is modifiable by the customer and which is
suitable to be displayed on the screen of the customer computer unit 112
by browser program element 210. Shown in FIG. 7, is a non-limiting
example of the "railway transportation ordering" page 700. In a
non-limiting example of implementation, the customer 122 fills out the
customer-modifiable data fields in order to enter information about a
rail transportation service for the shipment of goods, such as a desired
origin location, destination location, commodity type and commodity
weight. The shipment of goods can be transported by one or more railcars.

[0094]As can be seen in FIG. 7, there are a set 702 of customer modifiable
data fields for the origin location, a set 704 of customer modifiable
data fields for the destination location, and a set 706 of customer
modifiable data fields for the commodity. Optionally, although not shown
in FIG. 7, the graphical user interface can include customer modifiable
data fields relating to customer account information and preferred dates
of transportation. Some of these information fields may be omitted and
other information fields added without detracting from the spirit of the
invention.

[0095]It will be readily apparent that there are numerous ways for the
user to provide the information regarding the origin location, the
destination location, and the commodity. The user can enter the
information about the desired rail transportation service into the
computer modifiable data fields through an input device selected from the
group consisting of keyboard, pointing device, touch sensitive surface
and speech recognition unit.

[0096]In a first non-limiting example of implementation, in order to
specify the origin location and the destination location of
transportation, the customer can enter the name of the country, city and
street address. These are shown as customer modifiable data fields 708,
710, 712 and 714 on FIG. 7.

[0097]Alternatively, in a second non-limiting example of implementation,
the customer may enter a zip code, shown as data fields 716 and 718 in
FIG. 7 (the zip code can be of any number of digits such as the Canadian
6 digit zip code, the U.S. 5 digit zip code or any other type of zip
code).

[0098]In a third non-limiting example of implementation, the customer may
enter a standard point location code (SPLC), data fields 720 and 722, or
a freight station accounting code (FSAC).

[0099]Optionally, the customer modifiable fields depicted in FIG. 7 may be
enabled/disabled on the basis of the information already entered by the
user. For instance, if the user specifies the origin location with an
SPLC, then the city, country and zip field may be automatically disabled
by the user interface. Similarly, if the user specifies the origin
location with the city, country or with the zip code, the SPLC may also
be automatically disabled. The same type of feature may be provided by
the user interface for the destination location and for the commodity
information.

[0100]It is within the scope of the invention for the merchant entity 104
to be able to provide an intermodal transportation service based on the
origin location and destination location entered by the customer. For
example, if the customer enters a zip code to specify the origin location
and there is no train station within the region covered by that zip code,
then the merchant entity can use another form of transportation, such as
a truck, to transport the commodity from the customer's origin location
to the closest train station. Similarly, the customer may specify the
desired destination location with a zip code that covers a region that
does not include a train station. In these situations the merchant entity
will provide an alternate form of transportation from the origin location
to the closest train station and from the terminal train station to the
desired destination location. As such, the merchant entity is able to
provide a door-to-door transportation service to the customer.

[0101]The merchant entity 104 is able to calculate the distance to the
closest train station based on the zip code, or other origin location
information provided by the customer.

[0102]Although not shown in FIG. 7, in a fourth non-limiting example of
implementation, the customer may simply select the desired origin
location and destination location from a pull-down list of possible
locations. Such a list may include a list of the origin/destination
locations available for the railway transportation service. Although not
shown in FIG. 7, in a fifth non-limiting example of implementation, the
graphical user interface may include an interactive map allowing the
customer to select a desired location of origin and destination by
activating the selections through an input device such as a pointing
device, keyboard, touch sensitive surface, speech recognition unit or
other suitable input device. In this alternative implementation, the
interactive map depicts a plurality of locations at which origin and
destination location are depicted and associated to links allowing
selection by the user.

[0103]Other suitable embodiments for selecting origin and destination
locations through a user interface are possible without detracting from
the spirit of the invention.

[0104]The desired commodity, as well as the weight or volume of the
commodity to be transported, may also be specified in various ways. The
type of commodity can be selected from the set consisting of, but not
limited to, liquids, solids, logs, granular, grain type, commodity type,
explosives, and hazardous materials. As a non-limiting example, the
commodity may be specified by entering into data fields 724 and 726 the
commodity's common written name and the weight of the commodity can be
entered using well known units of measure (UOM), such as pounds,
kilograms or cubic inches. Alternatively, the user may specify the
commodity by entering the commodity's seven digit STCC code (standard
transportation commodity classification) or a subset of the commodity's
seven digit STCC into data field 728. It will be apparent that although
this specific implementation describes the transportation of a commodity,
any good suitable for rail transportation may be specified without
detracting from the spirit of the invention.

[0105]It is within the scope of the invention for the graphical user
interface of the "railway transportation ordering" page 700 to be
configured such as to be customer specific, thereby including specific
information regarding the customer currently accessing the page. For
example, if it is known from the customer profile that customer 122 only
transports wheat and wood, then in the commodity selection area 706, only
the choice of wheat and corn will be available to the customer.
Alternatively, if it is known from the customer profile that customer 122
usually transports wheat from Montreal to Dallas, then default values for
the customer modifiable fields may be set accordingly such as to reduce
the time required for the user to enter the information. In the specific
example shown in FIG. 7, the origin location 702, the destination
location 704, and the commodity 706 are set respectively to "Montreal",
"Dallas" and "Wheat".

[0106]Once the necessary information has been entered into the "railway
transportation ordering" page 700, the information entered into the
customer modifiable data fields is submitted to the merchant entity 104.
This may be accomplished through an input device such as a pointing
device, keyboard, touch sensitive surface, speech recognition unit or
other suitable input device. In the specific example shown in FIG. 7, the
customer submits the information entered into the graphical user
interface by selecting the "submit" button 730 with a pointer device. The
"railway transportation ordering" page 700 includes routing information
to direct the information entered by customer 122 to the merchant entity
104. As such, the customer computing unit 112 is operative to communicate
with the merchant entity 104. It should be noted that the price quote
computed later on can be based at least in part on the information
supplied by the customer at the "railway transportation ordering" page
700 about the rail transportation service desired.

[0107]Select a Route (Step 4000)

[0108]Upon receipt of the customer's desired origin location and
destination location, the program element 218 of the merchant computing
system 120 is responsive to the desired origin location and destination
location and accesses routing database 224 (FIG. 2B). As explained above,
the routing database 224 stores a list of segments in the form of {origin
junction, destination junction} pairs for railway routes. The processor
212 applies a route determination algorithm implemented by program
element 218 to the information stored in the routing database 224 with
respect to the customer's desired origin location and destination
location. The route determination algorithm determines a series of
combinations of segments that can be joined so as to form a route between
the origin location and the destination location. Identifying a
combination of segments between an origin location and a destination
location based on predefined segments may be done using any suitable
method.

[0109]In accordance with a variant of the invention, a segment may be
traveled by a carrier other than a train such as for example a truck, a
boat, airplane or any other suitable vehicle. For example, if the
transportation service desired by the customer requires a truck to
transport goods from the specific origin location to a train station in
the area, then the journey by truck to the train station can be
considered a first segment, and the journey by train can include one or
more additional segments. In addition, the final segment can be a journey
by truck from a termination train station to the specific destination
location specified by the customer. All segments of the route include
respective origin location and destination locations and in general, the
destination of the first segment coincides with the origin of the second
segment, the destination of the second segment coincides with the origin
of the third segment and so on.

[0110]In this variant, the customer enters into the "railway
transportation ordering" page an origin location, which is information
conveying a characteristic of the first segment of the transportation
route. As a specific example, the zip code entered by the customer
identifying an origin location is a characteristic of the first segment
of the route. It should be understood that other information conveying an
origin location of the first segment are included within the scope of the
invention, such as country, city, and street address. The user may also
enter at the "railway transportation ordering" page information conveying
a characteristic of the second segment of the journey, such as origin
location of the second segment. As a specific example, the zip code or
other origin location identifier entered by the customer to identify the
origin location of the first segment can also convey the origin location
of the second segment. For example, with the origin location of first
segment, the program element 218 at the merchant entity 104 can identify
the closest train station to the origin location and as such identify the
origin location of the second segment. In this case, the train station is
the origin location of the second segment. It is to be appreciated that
although in this example the information conveying an origin location of
the second segment is derived from the information conveying the origin
location of the first segment, it is within the scope of the invention
for the customer to provide information conveying the origin location of
the second segment separately from that of the first segment. In
addition, the customer may enter information identifying the destination
of one or all of the segments contained within the route. The customer
enters information conveying one or more characteristic of the first
segment and the second segment through an input device selected in the
group consisting of keyboard, pointing device, touch sensitive surface
and speech recognition unit.

[0111]Generally, two or more routes are derived for a given origin
location and a destination location requested by a customer. However, it
will be readily appreciated that for certain origin locations and
destination locations only one existing route between an origin location
and a destination location will exist amongst the segments in the route
database 224 and such cases remain within the scope of the invention. It
is to be appreciated that the series of combinations of segments forming
routes between the origin location and the destination location need not
be an exhausted list of all possible routes between the origin location
and the destination location but may be a subset thereof without
detracting from the spirit of the invention. The invention is not limited
to the manner in which the subset of routes from the list of possible
routes is determined.

[0112]An example of interaction between customer 122 and merchant entity
104 will better illustrate the above. On the "railway transportation
ordering" page 700, customer 122 selects Montreal as the origin location
and Dallas as the destination location. The merchant entity 104 receives
the selected origin location (Montreal) and the destination location
(Dallas) and applies the algorithm to the information stored in the
routing database 224 to derive possible routes between Montreal and
Dallas. From the routing database 224, shown in table 2 above, there are
at least two routes possible between Montreal and Dallas, namely:

[0113]Route 1

[0114]Montreal to Buffalo using merchant 1 followed by.

[0115]Buffalo to Baltimore using merchant 1 followed by

[0116]Baltimore to St Louis using merchant 2 followed by

[0117]St Louis to Dallas using merchant 2.

[0118]Route 2

[0119]Montreal to Buffalo using merchant 1 followed by

[0120]Buffalo to Memphis using merchant 3 followed by

[0121]Memphis to Dallas using merchant 3.

[0122]FIG. 8 illustrates a graphical representation of these two routes on
a geographical map. The series of routes between the origin location and
the destination location is displayed in the form of paths drawn on the
graphical representation of a geographical map.

[0123]Program element 218 is operative for interfacing with a database,
such as routing database 224, that maps information identifying route
segments and identifying the respective merchant railway carriers that
own the route segments in order to generate a series of routes having
segments owned by a certain owner.

[0124]In a specific example of implementation, the algorithm deriving the
list of routes from the origin location to the destination location is
biased on the basis of the ownership of the segments of the routes. For
example, the algorithm deriving the list of routes from the origin
location to the destination location can make use of the ownership of the
segments in the routing database 224 to bias the list of routes to favor
railway routes having segments belonging to the merchant entity 104.

[0125]For example, in cases where the merchant entity 104 can transport a
commodity from the specified origin location to the specified destination
location without the use of railway routes having segments belonging to a
railway carrier other than the merchant entity 104, the routes that use
the rail segments belonging to the merchant entity 104 are provided to
the customer for selection. For example, when the origin is Montreal and
the destination is Vancouver, and there are seven (7) different routes
that can be taken between Montreal and Vancouver and two (2) of the
routes require only railway segments belonging to the merchant entity,
and the remaining five (5) routes require the use of rail segments
belonging to a railway carrier other than the merchant entity, then only
the two routes that use railway segments belonging to the merchant entity
are displayed to the customer. In another example, the routes that use
railway routes having at least one segment belonging to the merchant
entity 104 are provided to the customer for selection. In such
implementations, the rules for the selection of the routes for inclusion
in the series of routes presented to the customer are based on a
pre-determined segment owner, namely the merchant entity. Alternatively,
the user may desire to have the algorithm determine a list of routes
based on a merchant railroad carrier other than the merchant entity, that
is selected by the user.

[0126]It is to be appreciated that heuristics rules for biasing the
selection of the routes for inclusion in the series of routes for
presentation to the customer entity 102 may also bias the selection
toward rail segments belonging to railway carriers other than the
merchant entity. For instance, the selection may be biased toward railway
carrier with which the merchant entity has some strategic alliances. As
such, routes that include rail segments belonging to railway carriers
having strategic relationships with the merchant entity 104 are given a
preferential treatment over routes that include rail segments belonging
to railway carriers not having strategic relationships with the merchant
entity 104. As such, the series of routes presented to the customer is a
subset of a set of all possible routes between the origin of the shipment
of goods and the destination of the shipment of goods.

[0127]Once program element 218 has derived a list of routes between the
origin location and the destination location, the list of routes is
transmitted over network 106 to customer computing unit 112 on a "route
display" page that is downloaded by computing unit 112. The "route
display" page automatically launches at computing unit 112 to display on
the screen of the customer computing unit 112 the list of derived routes.
The "route display" page is implemented by program element 218 from the
merchant computing system 120 and automatically launches to aid customer
122.

[0128]Shown in FIG. 9 is a non-limiting example of the "route display"
page 900 launched at the customer computing unit 112. As can be seen, the
series of routes is displayed in the form of a table, with each route
presented as a row, showing each junction in the route as well as the
merchant railroad carrier used for transportation. It is within the scope
of the invention for the "route display" page 900 to indicate the
distance between each junction and the total distance for each route. It
should be noted that the route is divided into segments, each segment
being the trip between two junctions.

[0129]Customer 122 may select a desired route from the list of routes
displayed through an input device such as a pointing device, keyboard,
touch sensitive surface, speech recognition unit or other suitable input
device. In the specific example shown in FIG. 9, the customer selects and
submits the choice of route simply by selecting either the "route 1"
button 902 or the "route 2" button 904. Alternatively, the customer
selects and submits the choice of route simply by selecting the route on
the graphical representation of the geographical map 906.

[0130]Optionally, the user interface provides an option allowing the user
to request the merchant system to effect the route selection on the basis
of a certain criteria such as cost, distance and time.

[0132]Based on the customer's choice of route, the merchant computing
system 120 is able to determine the distance (miles or km or other unit
of distance) between the chosen origin location and the chosen
destination location.

[0133]Equipment Selection (Step 5000)

[0134]In a specific example of implementation, after the customer has
selected a route from the list of routes provided by the merchant entity
104, an "equipment selection" page 1001 is automatically launched at
customer computing unit 112. "Equipment selection" page 1001 is
implemented by program element 218 of merchant computing system 120 and
is transmitted to the customer computing unit 112 over network 106. A
non-limiting example of the "equipment selection" page 1001 is shown in
FIG. 10. The "Equipment selection" page 1001 in accordance with this
non-limiting example of implementation is in the form of a graphical user
interface displayed on the screen of the customer computing unit 112. As
can be seen, the "equipment selection" page 1001 includes
customer-modifiable data fields 1002 relating to the equipment selection
and, optionally, customer-modifiable data fields 1004 relating to
chargeable services. The customer-modifiable data fields 1002 enable the
user to select the type of railcar to transport the desired commodity
from the origin location to the destination location. The
customer-modifiable data fields 1004 enable the user to select the
desired services. It will be apparent that certain chargeable services
will be automatically selected by the merchant system on the basis of the
commodities being transported and on the basis of the type of equipment
being used.

[0135]The customer modifiable data fields 1002 and 1004 may be comprised
of text boxes that allow the customer to type in the desired choices or,
alternatively, and as shown in FIG. 10, the customer-modifiable data
fields are dropdown selection boxes 1006 that include choices of
equipment and chargeable services available to the user. Other suitable
formats of customer modifiable data fields are also within the scope of
the present invention. The choice of railcar to be used includes, but is
not limited to, a gondola car, a tanker car, a flatbed car, a boxcar, a
central beam car for logs, a grain car, a railcar for hazardous materials
a refrigerated a hopper car and a covered hopper car amongst others.

[0136]The customer is enabled to enter information at the customer
computing unit 112 about the ownership of at least one rail car that will
be used for transporting the shipment of goods. Specifically, the
customer is enabled to select the desired ownership of the railcars for
the transportation service.

[0137]In a first non-limiting example of implementation,
customer-modifiable data fields 1002 identify a list of railcars
associated to respective owners. The user selects the railcar type
jointly with the railcar owner by editing the customer-modifiable data
fields 1002. In a second non-limiting example of implementation, for each
selected railcar type, the user is permitted to select a railcar owner
from a list of railcar owners having the selected railcar type. This may
be effected by providing an additional customer-modifiable data field
(not shown in FIG. 10) to enable the user to select a railcar owner from
a list of railcar owners. Optionally, entries in the list of equipment
owners may be enabled/disabled on the basis of the railcar already
selected by the user in field 1002. For instance, if a flatbed railcar is
selected and only carrier 1 and carrier 3 own flatbed railcars, then only
carrier 1 and carrier 3 will be enabled such that the customer may only
select carrier 1 or carrier 3.

[0138]Advantageously, by allowing the customer to select the owner of the
equipment, the customer can have the option to select equipment owned by
the merchant entity 104, by a railway carrier other than the merchant
entity, or by the customer himself. The selection of equipment owner may
result in reduced costs in the transportation service.

[0139]As a non-limiting feature of the electronic railway price
quotation/ordering system 100, the merchant computing system 120
includes, as part of program element 218, a product configurator program
element to customize the "equipment selection" page based on the
selections previously made by the customer. For example, the product
configurator program element is able to form a basic pool of railcars and
is further able to implement a filter for filtering the basic pool of
railcars based on one or more filtering criteria to produce a filtered
pool of railcars. The filtering criteria can be such things as type of
railcar, type of commodity or goods, route chosen, ownership of the
railcars etc . . . . In addition, the filtering criteria can be extracted
from the customer database 222, or any of the other databases disclosed
above. The program element 218 is able to deliver the filtered pool of
railcars to the customer's computing unit 112, and the customer is able
to select at the computer unit 112 one or more railcars from the filtered
pool of railcars. As will be described further on in the specification,
the price quote for the transportation service selected by the customer
will be based at least in part on one or more characteristics of the
railcars selected by the customer.

[0140]In a specific implementation, the product configurator program
element provides a set of filter modules including an equipment type
filter module, a route filter module and an equipment ownership filter
module amongst others.

[0141]The equipment type filter module processes a list of available
equipment types on the basis of the commodity selected by the customer on
the "railway transportation ordering" page 700 (shown in FIG. 7) in order
to release a list of equipment types suitable for transporting the
selected commodities: The suitable equipment types are presented for
selection in customer modifiable field 1002. For example, if a customer
has indicated on the "railway transportation ordering" page that the
commodity to be transported is a petroleum based product, the equipment
type filter module conditions the "equipment selection" page such that
the customer-modifiable data fields only provide the user with the
ability to select equipment (railcars) that can transport a petroleum
based product. As such, the choice of a flat bed railcar, or a hopper
will not be made available to the customer.

[0142]The route filter module of the product configurator processes a list
of available equipment types on the basis of the route selected by the
user on the "route display" page 900 (shown in FIG. 9) in order to
release a list of equipment types suitable to be transported on all the
segments of the selected route. This is particularly advantageous when
certain segments of the route are not rated to support certain types of
railcars, or support railcars weighing more than a certain amount. The
suitable equipment types are presented for selection in customer
modifiable field 1002.

[0143]The equipment ownership filter module of the product configurator
processes a list of available equipment types on the basis of the owner
of the equipment. In a first non-limiting example, the list of equipment
is conditioned on the basis of the owners of the segments of the route
selected by the user on the "route display" page 900. For example, if the
user selects a route that includes segments owned by two different
railway carriers, it is within the scope of the invention for the
customer to be able to chose to use either of the first carrier's
equipment, or the second carrier's equipment. This is particularly
advantageous when the railway carrier provides a discounted rate when a
customer uses a rail segment and equipment owned by that railway carrier.

[0144]In a second non-limiting example, the list of equipment is
conditioned on the basis of the customer profile associated with the
customer. For example, the equipment ownership filter module is operative
to process the equipment database 223 to identify equipment associated to
the customer presently using the railway price quotation/ordering system
100. Where suitable equipment owned by the customer has been identified
by searching the equipment database 226, or the customer database 222, to
extract information regarding equipment owned by the customer, the
equipment ownership filter module releases a list of equipment owned by
that customer causing the equipment presented in the dropdown selection
box 1006 to include the equipment owned by the customer. The dropdown box
1006 may optionally include equipment owned by others. In such a case, an
ordered list of equipment may be presented with the equipment owned by
the customer preceding equipment owned by other customers. This is
particularly advantageous when the customer owns equipment and is able to
obtain a discounted rate for the railway transportation service when
using his/her own equipment.

[0145]In a third non-limiting example, the list of equipment is
conditioned on the basis of the equipment owned by the merchant entity
104. For example, the equipment ownership filter module is operative to
process the equipment database 226 to identify equipment associated the
merchant entity 104. Where suitable equipment owned by the merchant
entity 104 has been identified, the equipment ownership filter module
releases a list of equipment owned by the merchant entity 104 causing the
equipment presented in the dropdown selection box 1006 to include the
equipment owned by the merchant entity 104. The dropdown box 1006 may
optionally include equipment owned by others. In such a case, an ordered
list of equipment may be presented with the equipment owned by the
merchant entity preceding equipment owned by other railway carriers. This
is particularly advantageous when the merchant entity owns equipment and
it is desired that the merchant entity's equipment be favored over that
of other railway carriers when using railway price quotation/ordering
system 100.

[0146]The above described filter modules are used in combination to
provide the user with a list of suitable equipment types for the
transportation service. For example, the equipment type filter module is
first applied to the list of all possible railcars to eliminate railcars
that are unsuitable to carry the commodity selected by the user which
results in a first subset of equipment. The first subset of equipment is
then processed by the equipment ownership filter module to order the
first subset of equipment such that equipment owned by the merchant
entity is displayed to the user preceding equipment owned by other
railway carriers.

[0147]As described above, the "equipment selection" page 1001 optionally
includes data fields that enable the user to select customized chargeable
services 1004 in addition to the standard default chargeable services
associated with any given railway transportation service. As a
non-limiting example of implementation, and as shown in FIG. 10, the
customer modifiable data field is a drop down box 1008 listing chargeable
services available to the customer 122. Chargeable services include such
items as handling goods, mounting and dismounting of containers, loading,
unloading, customs inspection, demurrage and the like. A list of
chargeable services is described in U.S. Pat. 6,061,667, issued on May 9,
2000 to Danford-Klein et al., the contents of which are incorporated
herein by reference. If the "equipment selection" page 1001 does not
include data fields enabling the customer to select chargeable services,
or if the customer does not wish to select any additional chargeable
services, the merchant computing unit 120 will generate a price quote
based on the use of default chargeable services. The default chargeable
services are based at least in part on the commodity being transported
and on the type of railcar used for the transportation service. For
example, if the commodity being transported is petroleum and a tanker car
is used, then chargeable services associated to the cleaning of the
tanker car will be applicable to the transportation service.

[0148]Once the customer has indicated the desired equipment and chargeable
services in the customer modifiable data fields, the information is
submitted to the merchant entity 104. The "equipment selection" page 1001
facilitates the communication between customer 122 and merchant entity
104. The "equipment selection" page includes the necessary routing
information to direct the information over the network 106 to the
merchant computing system 120. The customer submits the information
entered into the "equipment selection" page to the merchant entity 104
over network 106 through an input device such as a pointing device,
keyboard, touch sensitive surface, speech recognition unit or other
suitable input device. In the specific example shown in FIG. 10, the
customer selects the "submit" button 1010 located at the base of the
"equipment selection" page in order to submit the entered information to
the merchant entity 104.

[0149]Computation of Price Quote (Step 6000)

[0150]The information obtained from the user through the "railway
transportation ordering" page 700, the "route display" page 900 and the
"equipment selection" page 1001 is received and processed by the merchant
computing system 120 to generate a price quote for the transportation
service selected by the customer.

[0151]In a non-limiting implementation, with reference to FIG. 2b, program
element 218 of the merchant computing system 120 includes a pricing
engine module operative to calculate a price quote for the transportation
service selected by the customer. The pricing engine module uses data
elements included within the customer database 222, the routing database
224, the equipment database 226, the commodity database 228 and a series
of pricing equations (see equations 1-6 below) in order to calculate a
price quote for the services selected by the customer.

[0152]The processor 212 of the merchant computing system 120 accesses the
databases described above in order to access data elements to be used in
the pricing equations.

[0153]It is within the scope of the invention for the pricing engine
module to compute a price for the transportation of goods based on a
route having at a first segment, and a second segment, wherein the goods
are transported on the first segment by a mode of transportation other
than a train, and the goods are transported on the second segment by a
train. The pricing engine module computes the price of the goods on the
route based at least in part on the basis of characteristics of the first
segment entered by the customer and characteristics of the second segment
entered by the user. Characteristics of the first segment and second
segment of the routes can be entered by the user in the "railway
transportation ordering" page, the "route display" page, and the
"equipment selection" page. For example, based at least in part on the
information entered by the customer about the origin of the first
segment, and information identifying the location of the train station,
the merchant entity 104 can determine that transportation by trucking
will be required. Trucking charges for the first segment can be based on
the information about origin and destination entered by the customer.
Based on this information, the price engine module can assess the
distance between the two locations and can compute the trucking charges
based on the assessed distance.

[0154]The computation of the price will be described with reference to
FIG. 11 of the drawings. At step 1100, the pricing engine module receives
the information obtained from the user including commodity type,
commodity weight, railcar type and selected route. At step 1102, the
pricing engine processes the commodity type, commodity weight and railcar
type to derive the number railcars required for transporting the
commodity. To calculate the number of railcars required to transport the
commodity specified by the customer, the pricing engine makes use of
total weight of the commodity and the commodity type specified by the
user through the "railway transportation ordering" page 700 as well as
the weight carrying capacity of the railcar selected by the user. In
order to obtain the weight carrying capacity of the railcar selected by
the user, the pricing engine accesses the equipment database 226 to
locate the entry that corresponds to the railcar selected by the user.
The pricing engine then computes the number of railcars required.
Mathematically, the number of railcars required may be expressed as
follows:

[0155]The number of railcars required is rounded up to the nearest whole
number.

[0156]Once the pricing engine has calculated the number of railcars
required, the line haul price for each segment of the route is calculated
at step 1104.

[0157]The price of the railway service is based at least in part on the
type of commodity or goods being transported. As such, the pricing
engine searches commodity database 228 for an entry corresponding to the
STCC of the commodity specified by the customer. Once the corresponding
entry is found, the associated cost per distance data element (STCC
$/mile) is extracted. Following this, the pricing engine searches
equipment database 226 to locate the railcar selected by the user and
extracts an associated ownership factor associated to the selected
railcar. As such, the cost of the shipment of goods is based at least in
part on the ownership of the railcars selected by the customer. As shown
in table 3, the ownership factor is a function of the railcar and of the
customer making the request. Table 3 is reproduced below for the user's
convenience.

[0158]Once the corresponding equipment factor has been identified, for
each segment of the route, the pricing engine searches the routing
database 224 to identify the owner of the segment and the distance
associated to the segment. The pricing engine then computes the base
line-haul price for each segment. The calculation of the base line haul
price for a given segment can be expressed mathematically as follows:

where stcc$/distance is the cost per distance data element associated
to the commodity being transported, distancesegment is the length of
the current segment, stcc$/weight is the cost per unit weight
associated to the commodity being transported, weight is the weight of
the commodity being transported in the current railcar and "equipment
ownership factor" is the ownership factor associated to the railcar used
to transport the commodity. The above computation allows providing a
price for the transportation of a commodity that is conditioned on the
ownership of the equipment used to transport the commodity. In addition
the above computation allows providing a price for the transportation of
a commodity that is conditioned on the route selected by the user. In
light of the above, it will be readily apparent to the person skilled in
the art that other suitable equations for computing a Base Line-haul
price for a segment may also be used without detracting from the spirit
of the invention.

[0159]Although the equipment ownership factor has been shown to be a
separate factor in equation 2, it is within the scope of the invention
for the ownership factor to be incorporated within either one, or both,
of the stcc$/distance and stcc$/weight factors. It should also
be appreciated that the factors used in the equations, such as
stcc$/distance and stcc$/weight do not have to be fixed values
and can instead be functions of such variables as distance and weight. In
a non-limiting example of implementation, the stcc$/distance factor
used in equation 2 can be a certain value for a predetermined distance,
such as 500 km, and can then drop by an incremental amount for each
additional 100 km traveled. It is within the scope of the invention for
all the factors used in the equations described herein to be a function
of other factors. Such variations in the factors used in the equations
disclosed herein will be apparent to those skilled in the art.

[0160]Alternatively, the base line haul price may be a flat rate for
transportation of a railcar over the segment.

[0161]Optionally, where an ownership factor is associated to the segment,
the Line Haul Pricesegment is conditioned in the basis of the
segment ownership factor identified in the routing database 224.
Mathematically, this may be expressed as follows:

[0162]The above computation allows providing a price for the
transportation of a commodity that is conditioned on the ownership of the
segment of the route used to transport the commodity. In light of the
above, it will be readily apparent to the person skilled in the art that
other suitable equations for computing a Base Line-haul price for a
segment may also be used without detracting from the spirit of the
invention.

[0163]On the basis of the above, a line-haul price for each segment is
calculated.

[0164]Following this, at step 1106, the pricing engine calculates the
price of transporting one railcar carrying the desired commodities from
the origin location to the destination location specified by the
customer. In a non-limiting example, the price per railcar is expressed
as the sum of the line haul rate and chargeable services charged. The
calculation of the price of transporting one railcar from the origin
location to the destination location specified by the user can be
expressed mathematically as follows:

[0165]Where Σ[chargeable services] is the sum of the prices for
chargeable services (default and user selected), the BU.sub.OriginSPLC
and the BU.sub.DestinationSPLC represent a charge levied for the origin
and destination SPLC's. In a non-limiting implementation, the chargeable
service price may be obtained by a rate lookup in a table of prices for
chargeable services. The table of prices is stored in the data segment
220 of memory unit 216 (shown in FIG. 2b). The rate of a chargeable
service may be a function of a number of parameters including the type of
chargeable service, the commodity being transported, the location of the
chargeable service to be rendered, the customer profile and the equipment
(railcar) being used. Mathematically, this may be expressed as follows:

[0166]Once the price per railcar has been calculated (equation 4) and the
number of railcars required to transport the quantity of commodity has
been calculated (equation 1), at step 1108 the price quote for the
transportation service selected by the customer can be obtained by
multiplying the price per car by the number of cars. Mathematically, this
can be expressed as follows:

price quote=Price$/railcar* number of railcars required Equation 6

[0167]The pricing engine then releases the computed price quote.

[0168]Marketing Options and Adjustment of Price Quote (Step 7000)

[0169]Once an initial price quote has been calculated by the pricing
engine, the initial price quote can either be submitted to the customer
over the network 106, or alternatively can be processed by a marketing
engine implemented by program element 218. The marketing engine allows
modifying the price generated by the pricing engine on the basis of
various criteria including, but not limited to, the customer's profile
and a particular marketing campaign.

[0170]In a first non-limiting example, the initial price quote is adjusted
by the marketing engine on the basis of the customer profile associated
to the customer. As previously described, registered customers of the
merchant entity are associated to customer profiles which include data
elements indicative of discount rates to which the associated customer is
eligible. The marketing engine is operative to interact with customer
database 222 to identify an entry in the customer database 222 associated
to the customer using the price quotation/ordering system 100, in order
to extract a discount data element associated to the customer. For
example, if the customer is a registered customer, the marketing engine
accesses the customer database 222 and determines if the customer is
eligible for a discount. If the customer who submitted the transportation
service quote request is associated to a certain discount rate based on,
for example, the fact that the merchant entity has decided that that
specific customer is a valued customer, then the initial price quote
determined by the pricing engine is adjusted based on the discount rate
associated to that customer. Mathematically this may be expressed as
follows:

price quote=initial price quote*(1-discount rate) Equation 7

[0171]It is to be appreciated that the discount may be expressed in terms
of absolute dollar amount or absolute dollar amount per car.
Mathematically this may be expressed as follows:

price quote=initial price quote-discount Equation 8

[0172]It is within the scope of the invention for different discount rates
to be associated to different customers. For example, the profile of
customer 1 within the customer database 222, may indicate that customer 1
is eligible for a 10% discount rate on all quotes, while the profile of
customer 2 may indicate that customer 2 is eligible for a 20% discount
rate on all quotes. Alternatively, different discount rates may be
assigned to a same customer dependent upon the commodities being
transported, the type of railcar being used, the date of the
transportation service, the origin or transportation, the destination of
transportation, the distance of transportation or any other suitable
criteria such as time data. The time data can include a time of day, a
week, a month or a time of year such as a season. As such, the discount
data element is associated to a plurality of discount eligibility
criteria, such as specific customer, and service requested by the
customer. For example, the profile of customer 1 may indicate that
customer 1 is eligible for a 10% discount on all quotes relating to the
transportation of wheat and no discount for the transportation of any
other commodity. In another example, the profile of customer 1 may
indicate that customer 1 is eligible for a 10% discount on all quotes
where a flatbed car is used and 15% where a refrigerated railcar is used
and no discount for any other equipment type.

[0173]In a second non-limiting implementation, the initial price quote is
adjusted by the marketing engine on the basis of a particular marketing
campaign for which the railway transportation service selected by the
customer qualifies. In this specific implementation, the data segment 220
of memory unit 216 (shown in FIG. 2B) further includes a database of
promotional events (shown below) including a plurality of entries, each
entry in the database of promotional events being associated to a certain
promotional event. Entries in the database of promotional events can
include such things as origin locations, destination locations,
distances, types of equipment, type of commodity and time data. The time
data can include a time of day, a week, a month or a time of year such as
a season. A season can be a calendar season such as spring, summer, fall
and winter, or alternatively a season can be any period of the calendar
year defined by the merchant entity. For example, the merchant entity may
define the period between November and February as a "high traffic"
season. The entries in the database of promotional events are modifiable
by account manager at the merchant entity 104 such as to allow the
promotional events to be easily modified. Each entry includes a plurality
of fields including the criteria required for a customer to be eligible
for the promotional events as well as the applicable discount. A
non-limiting example of implementation of a database of promotional
events is shown below:

TABLE-US-00006
TABLE 5
Database of Promotional Events
Criteria Applicable Discount
1. Use of refrigerated cars 10%
2. In January
1. Origin of the 100$/car
transportation in
California
1. Use of flatbed cars 5%
2. Destination of the
transportation in
California
1. Use of flatbed cars in 200$/car
February
1. Transportation of 25%
petroleum products
2. February
3. Distance over 500 km

[0174]The database of promotional events maps information identifying
discount eligibility criterion to a discount data element. A marketing
engine is operative to interact with the database of promotional events
to identify one or more promotions for which the customer, or the
transportation service selected by the customer qualifies. The marketing
engine is further operative to identify at least one entry in the
database of promotional events associated to a certain discount
eligibility criterion and to a certain discount data element. In a
non-limiting example, if the customer qualifies for a discounted price
under one marketing promotion, the initial price quote is adjusted
according to the discount rate or discount amount described in the
marketing promotion. As can be seen, the database of promotional events
includes entries indicative of at least two discount eligibility
criteria. For example, in order to be eligible for a discount or 10%, the
discount eligibility criteria of "use of refrigerated cars", as well as
"transportation within the month of January" must be satisfied. In
addition, if the customer qualifies for a discounted price under two or
more marketing promotions, the initial price quote is adjusted according
to the discount rate or discount amount that is the most advantageous to
the customer. In an alternative implementation, if the customer qualifies
for a discounted price under two or more marketing promotions, the
initial price quote is adjusted according to all the applicable marketing
promotions.

[0175]For example, the database of promotional events indicates that the
merchant entity 104 is offering a discount wherein during the month of
February a 25% discount is applied to the transportation of petroleum
products that are being transported over 500 km. If the railway
transportation service requested by the customer satisfies these
criteria, the railway transportation service is eligible for this
discount and the initial price quote generated by the pricing engine will
be adjusted accordingly.

[0176]As can be seen from equations 7 and 8, the price quote is computed
at least in part on the basis of a discount data element derived from
either a marketing campaign, a customer profile, or a combination of the
two.

[0177]Once the initial price quote has been adjusted based on customer
profile, or on the basis of a particular marketing campaign, if eligible
for either, the price quote (i.e. the price for the shipment of goods) is
transmitted over the computer network 106 to be displayed on the screen
of the customer computing unit 112. The price may be transmitted to the
customer computing unit 112 for display via the graphical user interface
which is implemented by program element 218 from the merchant computing
system 120 and automatically launches to aid customer 122. Alternatively,
the price may be transmitted to the customer computing unit 112 via
e-mail, snail-mail or any other suitable manner implemented by program
element 218.

[0178]Although it has been disclosed above (equations 7 and 8) that an
initial price quote is modified on the basis of a discount data element
to determine a discounted price for a shipment of goods, it should be
expressly understood that the discount rate may be incorporated into any
of the above equations such that the initial price quote calculated is
indicative of a discounted rate without having to be modified. For
example, it is within the scope of the invention for the merchant entity
104, upon establishing that the customer is eligible for a discounted
rate, to modify each factor within the above described equations such
that the initial price computed is indicative of a discounted rate and it
is not necessary to adjust the initial price quote.

[0180]The price quote is received at the customer computing unit 112 and
is displayed on a "price display" page that is preferably in the form of
a graphical user interface, and the customer either accepts or rejects
the quote. Each quote is typically associated to a certain validity
period after which the quote is no longer active. A typical validity
period has a duration of 2 weeks, however, shorter or lengthier validity
periods may be used without detracting from the spirit of the invention.

[0181]In a non-limiting example of implementation, when applicable, both
the initial price quote and the discounted price quote are displayed to
the user in order to allow the latter to view the savings.

[0182]In another non-limiting example of implementation, when applicable,
the price quote is displayed along side advertising for upcoming
promotions offered by the merchant entity 104.

[0183]The "price display" page allows the user to either accept, reject or
save the price quote provided by the merchant entity 104. In a
non-limiting implementation, the "price display" page includes a set of
button elements associated to "accept", "reject" or "save" functions
which may be selected by the user through a pointing device, touch
sensitive screen, keyboard, voice recognition unit or other suitable
input device.

[0184]If the quote is rejected, the customer's railway transportation
order is deleted from the merchant computing system 120. The customer may
submit through the network a reason for the rejection. This may be done
through email, or through writing a message in a pop-up text box that
appears when the customer rejects the quote. The "price display" page
includes the necessary routing information to direct the message back to
the merchant entity 104. The customer may also choose to provide the
merchant entity 104 with the reasons for the rejection through alternate
means such as by telephone or fax.

[0185]If the quote is accepted then the order for the railway
transportation service relating to that price quote is submitted to the
merchant entity 104 and is stored in the memory 206 of the merchant
computing system 120. In addition, the information related to the price
quote is added to a list of quotes that have been previously accepted by
that specific customer in the customer profile at the merchant computing
system 120. The "price display" page includes the necessary routing
information to direct the accepted price quote to the merchant entity
104.

[0186]Finally, the customer may choose to save the quote and delay
responding to the quote until a later time. In this case, the merchant
computing system 120 stores in its memory 206, in connection with the
specific customer, the information related to the price quote and the
railway transportation service to which the price quote corresponds. The
time delay after which the price quote is no longer valid is also stored.
The "price display" page includes the necessary routing information to
direct the save message back to the merchant entity 104. Active quotes
associated to given customers are stored on a computer readable storage
medium at the customer-computing unit 112 or at the merchant computing
system 120 and can be retrieved by the customer through the computer
network 106. A graphical user interface is also provided to allow a
customer to view the active quotes.

[0187]Although the detailed description describes extensively a system for
requesting a price quote for shipping goods by rail via a web based
interface, other embodiments are possible. For example, user interfaces
for gathering information relating to railway transportation services
desired by a customer may be sent to the customer via electronic mail.
Likewise, a list of potential routes between a chosen origin and
destination location, and a price quote may also be submitted via
electronic mail.

[0188]Although the above described specific examples of implementation
describe a railway price quotation/ordering system 100 where the
computations of the price quote are effected at the merchant computing
system 120, embodiments of the invention where the price quote is
computed at the customer computing unit 112 remain within the scope of
the invention. In such an embodiment, a program element implementing the
pricing engine, including any required database information is sent from
the merchant computing system to the customer computing unit and launched
at the customer computing unit 112. It will also be apparent that a
program element "route determination algorithm" as well as the routing
database may also be implemented at the customer computing unit 1 12, or
downloaded at customer computing unit 1 12 from the merchant computing
system 120. In such a variant, upon receiving the origin location and
destination location, the program element implementing the route
determination algorithm derives a list of possible routes between the
origin location and destination location without requiring interaction
with the merchant computing system 120.

[0189]In addition, although the above described specific examples of
implementation describe the railway price quotation/ordering system 100
in a client-server arrangement, an application suitable for operating on
a general purpose stand-alone digital computer also remains within the
scope of the invention. In such an embodiment, the program element 210
and the data 220 described in connection with the merchant computer
system 120 are implemented on a standalone computer.

[0190]Although various embodiments have been illustrated, this was for the
purpose of describing, but not limiting, the invention. Various
modifications will become apparent to those skilled in the art and are
within the scope of this invention, which is defined more particularly by
the attached claims.