CA2418258C - System and method for providing customized pricing information on-line for a transportation service with promotional event notification capability - Google Patents

System and method for providing customized pricing information on-line for a transportation service with promotional event notification capability Download PDF

Info

Publication number
CA2418258C
CA2418258C CA2418258A CA2418258A CA2418258C CA 2418258 C CA2418258 C CA 2418258C CA 2418258 A CA2418258 A CA 2418258A CA 2418258 A CA2418258 A CA 2418258A CA 2418258 C CA2418258 C CA 2418258C
Authority
CA
Canada
Prior art keywords
customer
specific
shipping
goods
railcar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA2418258A
Other languages
French (fr)
Other versions
CA2418258A1 (en
Inventor
Leonard John Podgurny
Anita Ernesaks
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canadian National Railway Co
Original Assignee
Canadian National Railway Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CA002370053A external-priority patent/CA2370053A1/en
Priority claimed from CA002370061A external-priority patent/CA2370061A1/en
Priority claimed from CA2370084A external-priority patent/CA2370084C/en
Priority claimed from CA002370065A external-priority patent/CA2370065A1/en
Priority claimed from CA002370068A external-priority patent/CA2370068A1/en
Priority claimed from CA 2369836 external-priority patent/CA2369836A1/en
Priority to CA2418258A priority Critical patent/CA2418258C/en
Application filed by Canadian National Railway Co filed Critical Canadian National Railway Co
Publication of CA2418258A1 publication Critical patent/CA2418258A1/en
Application granted granted Critical
Publication of CA2418258C publication Critical patent/CA2418258C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

A method and system for providing a price quotation information for shipping goods by rail. A computer delivers first information to a user prompting the user to enter at the computer a parameter, the parameter specifying a given characteristic of a transportation service. In response to an entry by the user, a database of promotional events, including a plurality of entries mapping one or more discount eligibility criteria to a promotional event, is processed to identify an entry associated to a certain discount data element and to a certain promotional event. The certain discount eligibility criterion in the identified entry is such that it would be satisfied if the parameter provided by the user was altered. The computer then delivers second information to the user indicative of the certain promotional event.

Description

TITLE: System and Method for Providing Customized Pricing Information On-line for a Transportation Service with Promotional Event Notification Capability FIELD OF THE INVENTION
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 transportation service and be notified of related promotional events.
BACKGROUND OF THE INVENTION
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 or other computer network.
For example, U.S. Patent 6,115,690, issued on September 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
2 customer. Customers and vendors can view payment status, previous quotes and product tracking information.
In another example, U.S. Patent 5,926,817, issued on July 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 to is directed for use by communication service companies for providing dynamic price quoting to their clients when the latter select particular service features.
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.
In the field of transportation services, systems providing price quotations based on origin, destination and commodity types have also been developed. U.S. Patent 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.
3 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.
Therefore a problem with prior art systems, which the present invention aims to alleviate, is the need for the customer to interact with a human (account manager) to obtain a customized quote and/or order a transportation service on-line.
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
In accordance with a broad aspect, the invention provides a computer readable storage medium including a program element for execution by a CPU. The program element includes a first program component for causing a computer to deliver first information to a user. The first information prompts the user to enter at the computer a parameter, specifying a given characteristic of a transportation service. The program element also includes a second program component operative to interact with a database of promotional events. The database of promotional events includes a plurality of entries, each entry mapping a discount eligibility criterion to a promotional event. The second program component identifies an entry in the database of promotional events associated to a certain promotional event and to a certain discount eligibility criterion on the basis of the parameter specifying a given characteristic of a transportation service. The identification of the entry is such that the certain discount eligibility criterion in the identified entry would be satisfied if the parameter was altered. The program element also includes a third
4 program component for causing the computer to deliver second information to the user indicative of the certain promotional event.
Advantageously, the invention allows a transportation service provider to advertise a promotional event for which a customer would be eligible if a parameter specifying a given characteristic of a transportation service was altered.
In a specific implementation, the promotional event includes a discount data element.
Other promotional event can be considered such as actual gift items and points (such as frequent user points) amongst others.
In a specific example of implementation, the certain promotional event includes a certain discount data element. The delivering of the first information to the user is done by displaying information on a screen and the user provides the parameter specifying a given characteristic of a transportation service through an input device selected in the group consisting of keyboard, pointing device, touch sensitive surface and speech recognition unit.
In a specific example of implementation, the third program element prompts the user to select at the computer at least one data element providing the user with an option to modify the parameter specifying a given characteristic of a transportation service.
Advantageously, the invention allows a user to elect to modify the parameter describing a transportation service to benefit from the promotional event. Where the promotional event is a discount on the transportation service, the customer may benefit from a lower transportation cost.
Another advantage of the present invention in a potential increased participation to a promotional event by customers. This is particularly advantageous for instance when the transportation service provider wishes to encourage customer to purchases transportation services having certain characteristics. For example, if generally there is a transportation lull during the month of February, the transportation service provider may provide a discount to the customers purchasing transportation services during the month of February. The present invention would allow customers desirous of purchasing a transportation service in proximity of the month of February, say in March, to be advised of this promotional event and to modify their request to use the transportation service during the month of February. This has the added benefit of improving transportation resources allocation by encouraging customers to switch their transportation schedule to a time where fewer of such services are typically demanded.
it) In a non-limiting implementation, the program element includes a fourth program component. The fourth program element component is adapted to derive an initial price quote for the transportation service at least in part on the basis of the parameter and a promotional price quote at least in part on the basis of the initial price quote and the certain discount data element. The promotional price quote is a price quote for a
5 transportation service that would be obtained if the parameter were altered to satisfy the certain discount eligibility criterion. The program element includes a fifth program component for causing the computer to display to the user on a screen the initial price quote and the promotional price quote.
20 In a specific non-limiting example of implementation, the program element prompts the user to enter at the computer a selection data element causing either one of the initial price quote and the promotional price quote to be selected. In response to the selection of the promotional price quote, the program element alters the parameter such as to satisfy the certain discount eligibility criterion.
In accordance with a first variant, each entry in the database of protnotional events maps information identifying- a discount eligibility criterion and an altered eligibility criterion to a promotional event. The second program component is operative for identifying an entry in the database of promotional events associated to a certain altered eligibility criterion and to a certain promotional event where the parameter satisfies the certain altered eligibility criterion. Accordingly, in this first variant, the altered eligibility
6 criterion represents a value or a range of values against which the parameter provided by the user arid specifying the given characteristic of the transportation service is compared to identify a match.
In accordance with a second specific example of implementation, the parameter provided by the user is a first parameter. The second program component interacts with a set of rules to generate a second parameter on the basis of the first parameter, the second parameter being an altered version of the first parameter. The second program component the identifies a least one entry in the database of promotional events associated to a certain discount eligibility criterion and to a certain promotional event, where the second parameter satisfies the certain discount eligibility criterion.
In accordance with a specific implementation, each entry in the database of promotional events maps a plurality of discount eligibility criteria to a promotional event. The first information prompts the user to enter at the computer a plurality of parameters, each parameter specifying a given characteristic of a transportation service. The second program component is operative for identifying an entry in the database of promotional events associated to a certain plurality of discount eligibility criteria and to a certain promotional event. The selection is such than each discount eligibility criterion in the certain plurality of discount eligibility criteria of the selected entry would be satisfied if at least one parameter of the plurality of parameters was altered.
In a non-limiting implementation, the transportation service is a transportation service for shipment of goods. The entries in the database of promotional events may include discount eligibility criteria indicative of equipment type, origin of transportation location, destination of transportation location, distance data, commodity type and time data amongst others. The time data may be in the form of a day of the year, a time of the day, a day of the month, a day of the week, a month of the year, a set of days/months or any other suitable manner of expressing a time interval.
In a specific implementation the transportation service is a rail transportation service.
7 In a non-limiting implementation, the CPU resides in the computer.
In an alternative non-limiting implementation, the CPU on which the program element is executed may reside on a server machine and the computer is a client machine in a network arrangement with the server machine. In such an implementation, the program element generates control messages to the client machine to cause the client machine to display the information to the user. The control messages may for example by in the form of HTTP messages and the client machine displays the information to the user i 0 through a browser.
In accordance with another broad aspect, the invention provides a method for providing price quotation information for shipping goods. The method includes causing a computer to deliver first information to a user, the first information prompting the user to enter at the computer a parameter specifying a given characteristic of a transportation service. In response to an entry by the user indicative of the parameter, a database of promotional events including a plurality of entries, each entry mapping a discount eligibility criterion to a promotional event, is processed to identify an entry associated to a certain discount eligibility criterion and to a certain promotional event. The certain discount eligibility criterion is such that it would be satisfied if the parameter was altered.
The computer is caused to deliver second information to the user indicative oldie certain promotional event and to deliver third information to the user indicative of price quotation information.
In accordance with another broad aspect, the invention provides a server system including a computer readable medium which includes a program element suitable for execution by a CPU for providing a quote for a price for shipping goods by rail in accordance with the above described method.
In accordance with another broad aspect, the invention provides a method for requesting a price quotation information for shipping goods by rail. First information is displayed at a client system prompting a user to enter at the client system information about a rail transportation service for shipment of goods. The information about a rail transportation service includes at least one parameter specifying a given characteristic of the rail transportation service for shipment of goods. At least one parameter is sent to a server system. The client system receives from the server system information about a certain promotional event and displays that information to the user at the client system. The user is prompted to enter a selection data element allowing the user to indicate whether a modification to at least one parameter is desired and the selection data element is sent to the server system. The client system receives from the server ID system pricing information about the price for the shipment of the goods and displays to the user at the client system the price information for the rail transportation service for the shipment of the goods.
In accordance with yet another aspect, the invention provides a server system for providing a price quote for shipping goods by rail. The server system including a program element for execution by a CPU. The program element including a first program component for causing a client system connected to the server over a computer network to display first information to a user. The first information prompts the user to enter at the client system a parameter specifying a given characteristic of a transportation service. A second program component is operative to interact with a database of promotional events. The database of promotional events includes a plurality of entries mapping discount eligibility criteria to respective promotional events. The second program component is operative for identifying an entry in the database of promotional events associated to a certain discount eligibility criterion and to a certain promotional event such that the certain discount eligibility criterion would be satisfied if the parameter was altered. A third program component causes the computer to deliver second information to the user indicative of the certain promotional event. A
fourth program element component causes the computer to deliver third information to the user indicative of price quotation information.
. .

In accordance with yet another broad aspect, the invention provides a client-server system for providing a price quote for shipping goods by rail. The system includes a client system and a server system operative to exchange messages over a data network.
A first program component executed on the server system sends 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 a parameter specifying a given characteristic of a transportation service. The client system is operative to send messages to the server to communicate the parameter to the server. A second program component is executed on the server and interacts with a database of promotional events. The database of promotional events includes a plurality of entries, each entry mapping a discount eligibility criterion to a promotional event. The second program component is operative for identifying an entry in the database of promotional events associated to a certain discount eligibility criterion and to a certain promotional event, such that the certain discount eligibility criterion would be satisfied if the parameter provided by the user was altered. A third program component executed on the server sends messages to the client system for causing the client system to display second information to the user, the second information being indicative of the certain promotional event.
In yet another broad aspect, the invention provides, a computer readable storage medium including a program element for execution by a CPU. The program element includes a first program component for causing a computer to deliver first information to a user. The first information prompting the user to enter at the computer a parameter specifying a given characteristic of a transportation service. The program element also includes a second program component operative to derive a first price quote for the transportation service at least in part on the basis of the parameter. The program element also includes a third program component operative to interact with a database of promotional events. The database of promotional events includes a plurality of entries, each entry mapping a discount eligibility criterion to a promotional event. The third program component is operative for identifying a given entry in the database of promotional events associated to a certain discount data element and to a certain promotional event where the parameter provided by the user, when altered, being a match to the certain discount eligibility criterion. The program element also includes a fourth program component for causing the computer to deliver to the user second information indicative of the price quote, third information indicative of the certain 5 promotional event and fourth information prompting the user about the acceptance or rejection of a modification to the parameter. The modification to the parameter is such that the when the modification to the parameter is applied, the resulting modified parameter becomes a match to the certain discount eligibility criterion.
10 In a specific implementation, the client system and the server system communicate via the Internet and the client system displays the first information, the information about the certain promotional event and the information about the price for the shipment through a browser.
In accordance with another aspect, the invention relates to a method that allows a railway transportation company to take an order from a customer for shipping a commodity. The method comprises receiving at a network server that communicates with a customer's computer over a data network information on shipping parameters, the information on shipping parameters conveying a type of commodity to be shipped and a type of railcar to use for shipping the commodity. The method also comprises performing a search on a network server to determine if the shipping parameters match a promotional event in a promotional event database that entitles the customer to a promotion selected in the group consisting of a discount and an awarding of merchandise. When the search performed matches with a promotional event, the method comprises that the network server send information to the customer's computer to advise the customer that the promotion applies to the shipping of the commodity. The method also comprises that, when the search performed does not match with a promotional event, the network server identify a change in at least one of the type of commodity to be shipped and the type of railcar to use for shipping the commodity conveyed by the information on shipping parameters received from the customer's 10a computer, the identified change being effected would create a match with a promotional event in the promotional events database. The method also comprises that, when the search performed does not match with a promotional event, the network server send information to the customer's computer to advise the customer that a promotion would apply to the shipping of the commodity if the identified change was accepted by the customer. The method also comprises that, when the search performed does not match with a promotional event, the network server be responsive to reception of information originating from the customer's computer indicating that the customer accepts the identified change such that the shipping of the commodity according to the shipping parameters including the identified change can be performed.
In accordance with yet another broad aspect, the invention relates to a computer readable storage medium storing a program element for execution by a processor. The program element implements a graphical user interface on a customer computer to allow a customer to order from a railway transportation company the shipping of a commodity. The graphical user interface is configured for displaying on the customer computer information input components allowing the customer to input a set of shipping parameters. The set of shipping parameters includes a type of commodity to be shipped and a type of railcar for use in shipping the commodity. The graphical user interface is also configured for transmitting to a network server information conveying the set of shipping parameters input by the customer. The graphical user interface is also configured for receiving information from the network server conveying a suggested change to at least one of the type of commodity to be shipped and the type of railcar to use for shipping the commodity, the suggested change being derived at least in part based on a search performed on the network server to determine if the set of shipping parameters input by the customer match a promotional event in a promotional event database. The graphical user interface is also configured for displaying on the customer computer information display components to display the suggested change to at least one of the type of commodity to be shipped and the type of railcar to use for shipping the commodity, whereby the suggested change if accepted would entitle the 10b customer to a promotion selected in the group consisting of discount and award of merchandise. The graphical user interface is also configured for displaying on the customer computer a control component operable by the customer and presenting the customer with an option to order from the railway transportation company a transportation service for shipping the commodity according to the shipping parameters including the suggested change.
In accordance with yet another broad aspect, the invention relates to a method for ordering from a railway transportation company a shipping service for shipping a commodity by rail. The method comprises using a customer computer to establish a communication with a network server associated with the railway transportation company, the communication being established over a data network. The method also comprises using the customer computer to receive data originating from the network server, the customer computer being responsive to the data for causing a web browser running on the customer computer to display a transportation order web page associated with the railway transportation company. The method also comprises enabling a user at the customer computer to input via the web browser, shipping parameters for a transportation service, the shipping parameters including a type of railcar for use in the shipping. The method also includes causing the customer computer to transmit the shipping parameters to the network server via the data network. The method also includes receiving at a communication interface associated with the customer computer promotional event information originating from the network server, the promotional event information being derived at least in part based on a search performed on the network server to determine if the shipping parameters match a promotional event in a promotional event database, the customer computer being responsive to reception of the promotional event information for causing the web browser to display information related to the promotional event information indicating that the transportation service would be entitled to a promotion if the shipping parameters were changed to use a railcar type different from the railcar type input indicated above, wherein the promotion includes either one of a discount and an award of merchandise. The method also 10c comprises enabling a user at the customer computer to input via the web browser order placement information to place the order for shipping the commodity according to the changed shipping parameters.
In accordance with another aspect, the invention relates to a method allowing a railway transportation company to provide a price quote to a customer over a data network for a specific rail transportation service for shipping a commodity by rail, the method implemented by a programmable system including at least one programmable processor. The method comprises:
a) receiving at the programmable system information originating from a computing device associated with the customer and specifying the specific rail transportation service, the computing device associated with the customer being in communication with the programmable system over the data network, the information specifying the specific rail transportation service including shipping a plurality of parameters conveying at least a type of commodity to be shipped and a type of railcar to use for shipping the commodity;
b) at the programmable system, providing a promotional event database including a plurality of entries mapping promotion eligibility criteria to promotional events;
c) using the programmable system, processing the information specifying the specific rail transportation service against the promotional event database to determine if the specific rail transportation service is promotion eligible thereby entitling the customer to a promotion selected in the group consisting of a discount and an awarding of merchandise;
d) when the processing in c) determines that the specific rail transportation service is not promotion eligible:
i) using the programmable system, identifying a change in at least one of the type of commodity to be shipped and the type of railcar to use for shipping the commodity conveyed by the shipping parameters, the 10d identified change being effected would create a match with a promotional event in the promotional events database;
ii) using the programmable system, transmitting electronic data to the computing device associated with the customer for presenting information conveying to the customer that the specific rail transportation service would be promotion eligible if the identified change was accepted by the customer; and iii) at the programmable system, in response to receipt of information received from the computing device associated with the customer to indicating that the customer accepts the identified change, using the programmable system:
(a) modifying the specific rail transportation service according to the accepted identified change; and (b) transmitting electronic data to the computing device associated with the customer for presenting information conveying that a specific promotion applies to the modified specific rail transportation service;
e) using the programmable system:
i) processing the information specifying the specific rail transportation service to /0 derive a price quote for shipping the commodity: and ii) using the programmable system, transmitting electronic data for presenting on the computing device associated with the customer the derived price quote.
In accordance with another aspect, the invention relates to a computer program product comprising one or more tangible computer readable storage media, for allowing a railway transportation company to provide a price quote to a customer over a data network for a specific rail transportation service for shipping a commodity by rail, the computer program product comprising instructions stored thereon that, when executed, cause a programmable system including at least one programmable processor to perform operations.
The operations comprise transmitting data over the data network to a computing device associated with the 10e customer, the data causing a graphic display to be generated on the computing device associated with the customer, the graphic display providing the customer with input options for providing information specifying the specific rail transportation service, the information specifying the specific rail transportation service including a plurality of shipping parameters conveying at least a type of commodity to be shipped and a type of railcar to use for shipping the commodity. The operations further comprise receiving from the computing device associated with the customer data information specifying the specifying the specific rail transportation service and including the plurality of shipping parameters specified by the customer. The operations further comprise accessing a promotional event database including a plurality of entries mapping promotion eligibility criteria to promotional events and processing the information specifying the specific rail transportation service against the promotional event database to determine if the specific rail transportation service is promotion eligible thereby entitling the customer to a promotion selected in the group consisting of a discount and an awarding of merchandise. The operations further comprise, when the processing determines that the desired rail transportation service is not promotion eligible:
- identifying a change in at least one of the type of commodity to be shipped and the type of railcar to use for shipping the commodity conveyed by the shipping parameters, the identified change being effected would create a match with a promotional event in the promotional events database;
- transmitting electronic data to the computing device associated with the customer for presenting information conveying to the customer that the specific rail transportation service would be promotion eligible if the identified change was accepted by the customer; and The operations further comprise, in response to receipt of information originating from the computing device associated with the customer indicating that the customer accepts the identified change, using the system:
- modifying the specific rail transportation service according to the accepted identified change; and -transmitting electronic data to the computing device associated with the customer for presenting information conveying that a specific promotion applies to the 10f modified specific rail transportation service;
The operations further comprise, processing the information specifying the specific rail transportation service to derive a price quote for shipping the commodity; and transmitting electronic data for presenting on the computing device associated with the customer the derived price quote.
In accordance with another aspect, the invention relates to a method for allowing a customer to order from a railway transportation company a shipping service for shipping a commodity by rail. The method includes using a computing device associated with the customer to to establish a communication with a network server associated with the railway transportation company, the communication being established over a data network. The methods also includes using the computing device associated with the customer to receive data originating from the network server, the computing device being responsive to the data for causing a web browser running on the computing device to generate a graphic display providing the customer with first input options for providing information specifying a specific rail transportation service, the information specifying the specific rail transportation service including a plurality of shipping parameters conveying at least a type of commodity to be shipped and a specific type of railcar to use. The method also includes, using the computing device, transmitting the information specifying the specific rail transportation service to the network server via the data network. The method also includes using the computing device to receive promotional event information originating from the network server, the promotional event information being derived at least in part by processing the information specifying the specific rail transportation service against a promotional event database including a plurality of entries mapping promotion eligibility criteria to promotional events to determine if the specific rail transportation service is promotion eligible thereby entitling the customer to a promotion selected in the group consisting of a discount and an awarding of merchandise.
The computing device is responsive to reception of the promotional event information for causing the web browser to display an electronic document conveying information related to the promotional event information indicating that the specific rail transportation service would be promotion eligible if the specific rail transportation service were modified to use a railcar lOg type different from the specific type of railcar specified by the customer.
The electronic document provides the customer with second input options for providing information conveying a modification in the type of railcar to use for shipping the commodity to render the specific rail transportation service promotional eligible. The method also includes using the computing device, transmitting the information conveying the modification to the specific rail transportation service to render it promotional eligibles to the network server via the data network. The method also includes, using the computing device, enabling the customer to input via the web browser order placement information to place the order for shipping the commodity according to the modified specific rail lc) transportation service.
In accordance with another aspect, a method is provided for allowing a customer to obtain customized pricing information on-line for a rail transportation service from a railway transportation company over a data network for shipping goods by rail. The method is implemented by a programmable system including at least one programmable processor and comprises:
a) at computing device associated with the customer, receiving data over the data network from a remote computing device, the data received directing the computing device to implement a graphical user interface (GUI), the GUI
providing:
i) a first input object configured to accept a customer input identifying shipping parameters for the shipment of goods. The shipping parameters comprises:
(a) a type of goods to be shipped; and (b) a type of railcar to use for the shipment of goods;
ii) a dynamically adaptable second input object for displaying shipping service modification options, wherein one or more of the shipping service modification options are associated with respective modifications to the type of railcar to use for shipping the goods that would render a rail transportation service promotion eligible thereby entitling the customer to a promotion selected in a group consisting of a discount and an awarding of merchandise;

10h iii) wherein the GUI is configured such that the shipping service modification options displayed at the second input object are individually selectable by the customer;
iv) in response to a customer input at the first input object identifying specific shipping parameters for the shipment of goods including a specific type of goods to be shipped and a specific type of railcar to use for the shipment of goods, directing the GUI to display in the dynamically adaptable second input object a set of specific shipping service modification options, wherein at least one of the specific shipping service modification options displayed at the second input object presents the customer with:
(a) a suggested modification to the specific type of railcar specified at the first input object including an alternate specific type of railcar different from the specific type of railcar specified at the first input object; and (b) an identification of a specific promotion to which the customer would be eligible if the modification suggested in (a) is accepted by the customer;
v) in response to a customer input at the second input object identifying a specific shipping service modification option in the set of shipping service modification options, directing the GUI to display pricing information associated with the specific shipping service modification option selected by the customer.
In accordance with yet another aspect, a method is provided allowing a railway transportation company to provide customized pricing information for a rail transportation service to a customer over a data network for shipping goods by rail. The method is implemented by a programmable system including at least one programmable processor and comprises:
a) transmitting data over the data network to a computing device associated with the customer, the data transmitting directing the computing device to implement a loi graphical user interface (GUI) at the computing device associated with the customer, the GUI providing:
i) a first input object configured to accept a customer input identifying shipping parameters for the shipment of goods, the shipping parameters comprises:
(a) a type of goods to be shipped; and (b) a type of railcar to use for the shipment of goods;
ii) a dynamically adaptable second input object for displaying a set of shipping service modification options, wherein one or more of the shipping to service modification options are associated with respective modifications to the type of railcar to use for shipping the goods that would render a rail transportation service promotion eligible thereby entitling the customer to a promotion selected in a group consisting of a discount and an awarding of merchandise;
iii) wherein the GUI is configured such that the shipping service modification options displayed at the second input object are individually selectable by the customer;
b) in response to receipt at the programmable system of information provided at the first input object of the GUI and identifying specific shipping parameters for the shipment of goods including a specific type of goods to be shipped and a specific type of railcar to use for the shipment of goods:
(a) processing the specific shipping parameters for the shipment of goods jointly with a promotional event database to identify one or more specific shipping service modification options for rendering the shipment of goods promotion eligible; and (b) transmitting data to the computing device associated with the customer for directing the GUI to display in the dynamically adaptable second input object the one or more identified specific shipping service modification options, wherein at least one of the specific shipping service modification options displayed at the second input object presents the customer with:

ioj (i) a suggested modification to the specific type of railcar specified at the first input object including an alternate specific type of railcar different from the specific type of railcar specified at the first input object; and (ii) an identification of a specific promotion to which the customer would be eligible if the modification suggested in (a) is accepted by the customer;
(c) in response to receipt of information identifying a specific shipping service modification option in the set of shipping service modification options provided at the second input object of the GUI, transmitting data to the customer computing device associated with the customer for directing the GUI to display pricing information associated with the specific shipping service modification option selected by the customer.
BRIEF DESCRIPTION OF THE DRAWINGS
A detailed description of examples of implementation of the present invention is provided herein below with reference to the following drawings, in which:
Figure 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;
Figure 2a is a block diagram depicting one of the customer computing units of customer entity 102 shown in Figure 1 in accordance with a non-limiting implementation of the invention;
Figure 2b is a block diagram depicting the merchant computing system 120 shown in Figure 1 in accordance with a non-limiting implementation of the invention.

ii Figure 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;
Figure 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;
Figure 5 is a flow diagram of a customer registration process for the electronic railway In price quotation/ordering system 100 in accordance with a specific example of implementation of the present invention;
Figure 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 t 5 of implementation of the present invention;
Figure 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;
Figure 8 illustrates a graphical representation of two different routes between Montreal and Dallas on a geographical map;
Figure 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:
Figure 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;

Figure 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.
Figure 12 is a block diagram depicting the interaction between a marketing engine and a database of promotional events in accordance with a first variant of the present invention; and Figure 13 is a block diagram depicting the interaction between a marketing engine, a set i 0 of rules and a database of promotional events in accordance with a second variant of the present invention.
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 I 5 of illustration and as an aid to understanding, and are not intended to be a definition of the limits of the invention.
DETAILED DESCRIPTION
20 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 25 an origin location to a destination location include transportation via trucks, boats, airplanes and combinations of trucks, boats, airplanes and railways.
Shown in Figure 1 is an electronic railway price quotation/ordering system 100 in accordance with a specific example of implementation of the present invention for 30 providing price quotations tbr a railway transportation service. As shown, the railway price quotation/ordering system IOU 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.
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, io 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.
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.

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, also referred to as parameters, provided by the customer. The merchant entity 104 is enabled to provide information regarding one or more promotional events from which the customer could benefit if at least one parameters provided by the customer and identifying the transportation service is altered. For example, the customer may be enabled to modify the parameter describing a transportation service to benefit from the promotional event.
Where the promotional event is a discount on the transportation service, the customer may benefit from a lower transportation cost.
Customer Computing Unit 112 Figure 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 1/0 (input/output) for accessing network 106. The network 1/0 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 preferably 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 promotional event and price quotation information for the railway transportation service are 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 5 components and modules. These have been omitted from the description for the purpose of clarity Merchant Computing System 120 10 The merchant computing system I 20 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 and a notification of a 15 certain potential promotional event for a certain railway transportation service over network 106.
Figure 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/0 214 (input/output) for connection to the network 106 (shown in figure I). The network 1/0 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 interacts with the customer computing units 112, 114 and 116 via e-mail, then a dial-up connection may be suitable.
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.

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 including a customer database 222, a routing database 224, an equipment database 226, a commodity database 228 and a database of promotional events 229. Optionally, the data portion 220 further includes a set of rules 227. It will be readily appreciated that the merchant computing system 120 may include additional components and modules that have been omitted from the description tbr the purpose of clarity.
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.
Table I: Customer database Customer Password Customer address Discount rate Identifier Customer 1 12345 1234 Green Street 10% - Overall HUH OHO 20% - For wheat only 15% - For the use of refrigerated cars Customer 2 23456 4321 Blue Avenue 15% - Overall _XOX OX0 Customer 3 34567 9876 Yellow Drive [0% - for flatbeds AHA

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 in 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.
IS Table 2: Routing database Jet origin Jet Distance Time Origin Destination Railway destination between between factor factor Carrier Jet (km) _Jet (hrs) Montreal Buffalo 300 2.5 1.6 1.3 Merchant Montreal Huntington 70 0.7 1.6 1.7 Merchant 2 Buffalo Baltimore 250 2.1 2.4 7.2 Merchant 1 Buffalo Memphis 1300 10 7.4 1.9 Merchant 3 Baltimore St Louis 900 8.5 2.7 1.8 Merchant 2 St Louis Dallas 550 4.8 3.5 2.3 Merchant 2 Memphis Dallas 350 3.7 4.0 2.3 Merchant 3 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 tbr a given segment may further be 20 dependent on the customer making the request.
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:
Table 3: Equipment database Equipment Carrying Ownership Ownership Chargeable Price Capacity Factor services per mile Flatbed 2 tons Merchant Entity I for all Cleaning 15.95 Unloading Flatbed 1.5 tons Customer 2 0.5 for Cleaning 15.95 "Customer 2" Unloading 1 lbr everyone else Flatbed 2 tons Railway Carrier 2 0.8 for Cleaning 15.95 "Customer 1" Unloading 1.5 for everyone else Tanker 5 tons Merchant Entity I Cleaning 20.00 Unloading Tanker 3 tons Customer I 0.5 for Cleaning 20.00 "Customer 1" Unloading I for everyone else Boxcar 2 tons Merchant Entity I Cleaning 5.95 Unloading Boxcar 3.5 tons Customer 3 0.75 .for Cleaning 5.95 "Customer 3' Unloading I for everyone else Hopper 6 tons Merchant Entity I Cleaning 17.99 Unloading i 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:
Table 4: Commodity database Commodity Customers Price per weight Price per Chargeable who mile services transport commodity Wheat Customer I 12.00/ton 2.00 Wood Customer 1 6.00/ton 1.99 Customer 2 Petroleum Customer 1 20.00/ton 13.00 Customer 3 Perishable food Customer 4 22.00/ton 7.00 Refrigeration The database of promotional events 229 includes entries associated to promotional events.
Each entry maps one or more discount eligibility criteria to a promotional event. In a specific implementation, the promotional event includes a discount data element. Other promotional event can be considered such as actual gift items and points (such as frequent IS user points) amongst others. For the purpose of simplicity, the present invention will describe the case where the promotional event is a discount data clement.
Non-limiting examples of parameters identifying discount eligibility criteria include parameters specifying a particular equipment type, an origin of transportation location, 20 a destination of transportation location, a distance data, a commodity type, time data and a customer identifier amongst others. The time data may include a day of the year, a time of the day, a day of the month, a day of the week or a month of the year associated . õ

to a time during which the transportation service occurs or, alternatively, associated to a time at which the transportation service is reserved.
A non-limiting example of implementation of database of promotional events 229 is shown 5 below:
Table 5: Database of Promotional Events Discount Eligibility Discount Data Element Criterion 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 200$/car 2. In February 1. Transportation of 25%
petroleum products 2. February 3. Distance over 500km It will be appreciate that the above table entries are provided for the purpose of illustration 10 only and that both the discount eligibility criteria and the discount data element may vary significantly in actual implementations.
In a second non-limiting example of implementation, the database of promotion event 229 includes a plurality of entries, each entry mapping information identifying a discount 15 eligibility criterion and an altered eligibility criterion to a promotional event. A non-limiting example of implementation of database of promotional events 229 is shown below:

Table 6: Database of Promotional Events Discount Eligibility Altered eligibility Discount Data Element Criteria criteria 1. Use of refrigerated 2. In December 10%
cars 2. In February 2. In January 1. Origin of the 100$! car transportation in California 1. Use of gondola cars 1. Use of flatbed cars 5%
2. Destination of the transportation in California 1. Use of flatbed cars 2. In December 200$/car 2. In February 2. In January 1. Transportation of 2. In March 25%
petroleum products 2. In February 3. Distance over 5001cm 1. In January 2. In December 2 Free tickets to a hockey game The set of rules 227 (optional) includes rules for use by the program element 218 to generate at least one altered parameter specifying a characteristic of a transportation service on the basis of a given parameter. The manner in which the program element 218 makes use of the set of rules 227 will be described in more details later on in the specification.
It is to be expressly understood that other formats for each of the above noted databases are possible in alternative implementations. It should also be expressly understood that other data to fields including additional data elements could also be included and others omitted in alternative embodiments.
The use of each of these databases will be described in greater detail further on in the specification.

System Overview With reference to Figure 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.
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 N,eri lied by the merchant computing system 120, the customer is granted access to the merchant entity's website.
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 is 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.
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 he 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.

Optionally, 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. In an alternative implementation, the program element 218 at the merchant computing 0 system may select a default transportation route and step 4000 may be omitted.
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. In an alternative implementation, the program element 218 at the merchant computing system may select a default equipment type.
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 in alternative implementations.
At step 6000, the program element 218 at the merchant computing system 120 generates an initial 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.
At step 7000, the merchant computing system 120 searches the database of promotional events 229 to locate a promotional event where the discount eligibility criteria are satisfied by the parameters provided by the user. If a promotional event is located, the merchant computing system 120 applies the promotional event in order to effect a price adjustment of the initial price quotation generated at step 6000. 11 a promotional event is not located, the merchant computing system 120 searches the database of promotional events 229 for one or more entries associated to respective promotional events from which the customer could benefit if at least one parameter provided by the customer and specifying a given characteristic of the transportation service was altered.
Optionally the merchant computing system 120 applies the information regarding one or more promotional events in order to compute one or more promotional price quotations. The promotional price quotations reflect the price that would be charged to the user for the transportation service if at least one parameter identifying the transportation service were altered.
At step 8000, where the parameters provided by the user satisfied all the discount eligibility criteria and a promotional event was located, the merchant computing system 120 forwards the promotional price quotation to the customer's computing unit, which displays the price quotations to the customer through a graphical user interface.
Optionally, the merchant computing system 120 forwards the initial price quotation, the promotional price quotation and the promotional event to the customer's computing unit, which displays this information to the customer through a graphical user interface such as to allow the user to view the discount. The promotional price quotation is displayed to the user as the final price quotation.
At step 8000, where a promotional event was located where the discount eligibility criteria would be satisfied by the parameters provided by the user if at least one parameter was altered, the merchant computing system 120 forwards a message indicating the candidate promotional event, the initial price quote and the promotional price quotation to the customer computing unit. The customer computing unit displays the above information to the customer through a graphical user interface.
In a first non-limiting implementation, the user is enabled through the user interface to modify at 5 least one parameter in order to benefit from the promotional event. If the user chooses to modify' a parameter such as to benefit from the promotional event, the promotional price quotation is displayed to the user as the final price quotation.
Otherwise, the initial price quote is displayed to the user as the final price quotation. In a second alternative non-limiting implementation, the customer is enabled to select the initial to price quotation or to accept one or the one or more promotional price quotations. If the initial price quotation is selected, the initial price quote displayed to the user as the final price quotation. If a promotional price quotation is selected, the merchant computing system 120 alters a parameter specifying a characteristic of the transportation service to produce a request for a transportation service for which the selected promotional price 15 quotation applies. The promotional price quotation is then displayed to the user as the final price quotation.
At step 8000, where no promotional event was located, the merchant computing system 120 forwards the initial price quote to the customer's computing unit, which displays 20 the initial price quotation to the customer as the final price quotation through a graphical user interface.
At step 9000, the customer is enabled to accept the final price quotation or reject the final price quotation. Optionally, the customer is enabled to save the final price 25 quotation in a database located at the merchant computing system and delay making a decision until a later time. In such an implementation, the final price quotation provided at step 8000 is associated to a time delay during which the price quotation is valid.
Each of the above mentioned steps will be described in greater detail hereinbelow.

'26 Login or Register/Create a Customer Profile (Step 1000) 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 Figure 4.
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 userlD
and password, or alternatively registers as a new user of the railway price quotation/ordering service, lithe 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 userlD and an associated password each time the customer desires to access the railway price quotation/ordering system 100. As can be seen in Figure 4, in a non-limiting example of implementation, a registered user enters the userlD 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.
When a "registered customer" enters a userlD 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 userlD. 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.
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 Figure 4, customer 122 launches the "registration" webpage by selecting the "register" button 408.
With reference to Figure 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 Figure 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 in alternative embodiments.
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 userlD and password when accessing the railway price quotation/ordering system 100.
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 in merchant entity 104 by mail, fax or other suitable transmission method.
These methods will be readily apparent to the reader skilled in the art.
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 indicating that the application for registration has been denied. Conversely, if the application is granted, at step 5 1 2 the merchant entity 104 may return a message indicating that the application for registration is successhil.
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 2.() 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 0 "new customer" has only limited interaction capabilities with the railway price quotation/ordering system 100.
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.
Selecting the Railway Price Quotation/Ordering System (Step 2000) Once the customer has been successfully 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 Thome" site for displaying on the screen of the customer computing unit 112. Figure 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 5 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".
In the non-limiting example of implementation shown in Figure 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 15 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.
Select Origin Location, Destination Location and Commodity (Step 3000) 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 clement 218 (shown in Figure 2b) at the merchant computing system 120.
The program clement 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 fITTP 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 Figure 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.
As can be seen in Figure 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 Figure 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 in alternative embodiments.
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.
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 Figure 7.
Alternatively, in a second non-limiting example of implementation, the customer may enter a zip code, shown as data fields 716 and 718 in Figure 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).
In a third non-limiting example of implementation, the customer may enter a standard to point location code (SPLC), data fields 720 and 722, or a freight station accounting code (FSAC).
Optionally, the customer modifiable fields depicted in figure 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.
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.
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.
Although not shown in Figure 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 Figure 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.
Other suitable embodiments for selecting origin and destination locations through a user interface are possible in alternative implementations.
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 in alternative implementations.
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 Figure 7, the origin location 702, the destination location 704, and the commodity 706 are set respectively to "Montreal", "Dallas" and "Wheat".
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 Figure 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.

Select a Route (Step 4000) 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 5 desired origin location and destination location and accesses routing database 224 (figure 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 2 12 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 TO 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.
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.
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.
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. The invention is not limited to the manner in which the subset of routes from the list of possible routes is determined.

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 arc at least two routes possible between Montreal and Dallas, namely:
Route 1 Montreal to Buffalo using merchant 1 followed by Buffalo to Baltimore using merchant I followed by Baltimore to St Louis using merchant 2 followed by St Louis to Dallas using merchant 2.
Is Route 2 Montreal to Buffalo using merchant I followed by Buffalo to Memphis using merchant 3 followed by Memphis to Dallas using merchant 3.
Figure 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.
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.
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.
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 IS -- 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 arc 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 lbr 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.
-- 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.
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.
Shown in Figure 9 is a non-limiting example of the "route display" page 900 launched s 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 oldie 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.
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 Figure 9, the customer selects and submits the choice of route simply by selecting either the "route I" 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.
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.
The "route display" page 900 includes routing information to direct the route selection of customer 122 to the merchant entity 104.

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.
to Equipment Selection (Step 5000) 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"
15 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 Figure 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 20 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.
25 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.
30 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 õ.

Figure 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 ear, 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.
The customer is enabled to enter information at the customer computing unit 112 about i 0 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.
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 he effected by providing an additional customer-modifiable data field (not shown in figure 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 I or carrier 3.
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.

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. 'ale 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 in 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 IS more characteristics of the railcars selected by the customer.
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.
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 figure 7) in order to release a list of equipment types suitable for transporting the selected commodities. The suitable equipment types are 25 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 30 petroleum based product. As such, the choice of a flat bed railcar, or a hopper will not be made available to the customer.

The route filter module of the product corifigurator 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 figure 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.
in 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.
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.
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 to 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.
The above described filter modules arc 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.
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 Figure 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. Patent 6,061,667, issued on May 9,2000 to 5 Danford-Klein et al.. 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 10 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.
Once the customer has indicated the desired equipment and chargeable services in the customer 15 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 20 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 Figure 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.
25 Computation of Price Quote (Step 6000) 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.
in a non-limiting implementation, with reference to figure 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 to for the services selected by the customer.
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.
IS 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 20 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 25 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 30 and can compute the trucking charges based on the assessed distance.

The computation of the price will be described with reference to figure 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 in 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:
Equation 1 total weight of commodity # railcars required =
capacity of selected railcar The number of railcars required is rounded up to the nearest whole number.
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.
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 oldie railcar and of the customer making the request. Table 3 is reproduced below for the reader's convenience.
Table 3: Equipment database Equipment Carrying Ownership Ownership Chargeable Cost Capacity Factor services per mile Flatbed 2 tons Merchant Entity 1 for all Cleaning 15.95 Unloading Flatbed 1.5 tons Customer 2 .5 for Cleaning 15.95 "Customer 2" Unloading 1 for everyone else Flatbed 2 tons Railway Carrier 2 ¨ 0.8 for Cleaning 15.95 "Customer I" Unloading 1.5 for everyone else Tanker 5 tons Merchant Entity 1 Cleaning 20.00 Unloading Tanker 3 tons Customer I .5 for Cleaning 20.00 "Customer I" Unloading 1 for everyone else Boxcar 2 tons Merchant Entity 1 Cleaning 5.95 , Unloading Boxcar 3.5 tons Customer 3 .75 for Cleaning 5.95 "Customer 3" Unloading 1 for everyone else Hopper 6 tons Merchant Entity I Cleaning 17.99 Unloading to 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:
Equation 2 Base Line haul pricesegment = (stccs,d,,,mic, * distance segment ) + (stccS/ weight * weight * equipment ownership factor) where stccsidIstance is the cost per distance data element associated to the commodity being transported, distanceõgn,õt is the length of the current segment, stccsAveight 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 in alternative embodiments.
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 stccsAveight factors. It should also be appreciated that the factors used in the equations, such as St0C$/clistance and stccsiweight 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 stccsid,stance factor used in equation 2 can be a certain value for a predetermined distance, such as 5001cm, 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.
Alternatively, the base line haul price may be a flat rate for transportation of a railcar over the segment.

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:
10 Equation 3 Line Haul Pricesegment = Base line-haul pricesegment X segment ownershi -Pfaetor The above computation allows providing a price for the transportation of a commodity that is 15 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 in alternative embodiments.
20 On the basis of the above, a line-haul price for each segment is calculated.
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 25 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:

Equation 4 Pricesilcar I[(line haul pricemeram segment )*Blicoelf origin *BUcoeir destination Silk] +
If line haul prieeNoN
inerc.lant segment] 1.[chargeable services]
Where 1:[chargeable services] is the sum of the prices for chargeable services (default and user selected), the BUori,;õspik. and the BUDõtiõõ,;m..c represent a charge levied for the origin and destination SPEC:7'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 (shown in figure 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:
Equation 5 Chargeable service rate = Rate Price [Service, Commodity, Locations*, Customer-cc:id, Equipment]
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:
Equation 6 price quote - Prieesimikar * number of railcars required The pricing engine then releases the computed price quote.
Marketing Options and Adjustment of Price Quote (Step 7000) Once an initial price quote has been calculated by the pricing engine, the initial price quote is 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. Alternatively, the marketing engine may process the to transportation service quote request prior to the computation of an initial price quote. in such a case, a promotional price quote may be generated directly on the basis of the transportation service quote request parameters and the computation of an initial price quote may be omitted.
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. lithe 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:

Equation 7 price quote ¨ initial price quote * (1-discount rate) 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:
Equation 8 price quote = initial price quote - discount It is within the scope of the invention for different discount rates to he 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 I may indicate that customer I
is eligible for a 10"A 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 I 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.
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 figure 2B) further 5.4 includes a database of promotional events 229including 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 amongst others. 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 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 was shown in Table 5, which is reproduced herein below for the reader's convenience:
Table 5: Database of Promotional Events Discount Eligibility Discount Data Element Criterion 1. Use of refrigerated cars 10%
2. In January I. 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 200$/car 2. In February I. Transportation of 75%
petroleum products 2. February 3. Distance over 500km The database of promotional events maps information identifying one or more discount eligibility criteria to a promotional event, which in the example shown in table 5 is a discount data element. A marketing engine is operative to interact with the database of promotional events to identify one or more promotional events for which the customer, 5 or the transportation service selected by the customer, qualities. In a non-limiting example, if the customer qualities 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 to produce a promotional price quotation.
As can be seen, the database of promotional events can include entries with multiple 10 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 15 advantageous to the customer. In an alternative implementation, if the customer qualities for a discounted price under two or more marketing promotions, the initial price quote is adjusted according to all the applicable marketing promotions.
In other word, this allows promotional events to be combined.
20 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 500Iun. 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 25 generated by the pricing engine will be adjusted accordingly to generate a promotional price quotation.
As can be seen from equations 7 and 8 above, the price quote is computed at least in part on the basis of a discount data element derived from either a marketing campaign, a 30 customer profile, or a combination of the two.

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.
The marketing engine is also operative to identify in the database of promotional events, promotional events for which the customer, based of the current provided set of parameters characterizing the requested transportation service, is not currently eligible but would be eligible if at least one of the criteria of the transportation service was modified. For example, the customer requests a transportation service for the month of the February to transport merchandise using refrigerated cars from Dallas to Montreal. None of the sets of criteria in the database of promotional events are satisfied, however all the criteria for the first entry in the database of promotional events, except for the month criteria, are satisfied. The marketing engine is operative to identify that if the customer would modify the transportation date to fall within the month of January rather than February on his transportation service request, then a 10% discount would be applicable to the rate.
More specifically, the marketing engine implemented by program element 218 is operative to search the database of promotional events 229 to identify promotional events for which the user would be eligible if at least one parameter identifying the transportation service request was altered. It will be appreciated that the database of promotional events 229 could be searched prior to the calculation of the initial price quote or prior to the adjustment of the initial price quote in alternative embodiments.

Optionally, the merchant computing system 120 is adapted to display at the customer computing unit an advertisement for the promotional event advising the user of the promotional event and asking the user whether he wishes to modify his request for transportation service in order to benefit from the promotion. As a non-limiting example of implementation, the advertisement could be in the form of text on the existing webpage at the client computing unit, or alternatively could be in the form of a pop up 'iiidow.
Advantageously, by identifying potential promotional events, the merchant entity can in advertise upcoming marketing campaigns to customers and provide improved customer service.
A first variant of the database of promotional events is shown on Figure 12.
In a non-limiting example of implementation, as shown on Figure 12, the database of promotional events 229 includes M entries 1210,m, in varying from I to M. Each entry 1210,m in the database of promotional events 229 maps information identifying a discount eligibility criterion 1212,m and an altered eligibility criterion 1214,m to a discount data element 1216,m. The reader skilled in the art will appreciate that the database of promotional events can also include entries indicative or more than one altered eligibility criterion. Each altered eligibility criterion 1214,m represents a certain value of a parameter specifying a given characteristic of a transportation service, the parameter being any information that the customer may provide at steps 3000, 4000 and 5000 (shown in figure 3) to specify the required transportation service. The certain value of the parameter is determined by the merchant entity 104 as being a value which, when provided by the customer, would cause the program element 218 to provide to the customer information regarding the promotional event associated with a certain discount eligibility criterion 1212,r and a certain discount data element 1216,r. A
simplified specific non-limiting example of the database of promotional events in accordance with this implementation was shown in figure 6 above and is reproduced below for the reader's convenience:

Table 6: Database of Promotional Events Discount Eligibility Altered eligibility Discount Data Element Criteria criteria 1. Use of refrigerated 2.In December 10%
cars 2. In February 2. In January I. Origin of the 100$ / car transportation in California 1. Use of gondola cars 1 . Use of flatbed cars 5%
2. Destination of the transportation in California I. Use of flatbed cars 2. In December 200S/car 2. In February 2. In January 1, Transportation of 2. In March 25%
petroleum products 2. In February 3. Distance over 500km I. In January 1.1n December 2 Free tickets to a hockey game In the context of the very specific example given above, the merchant entity 104 may inform a customer requesting a transportation service to be performed on February 4, 2002 that if the customer modified the transportation date to fall sometime in January 2002, the customer would benefit from a 10% rebate on the costs associated with the transportation service.
The marketing engine 1200 is operative for identifying an entry 1210,r in the database to of promotional events 229 matching the altered eligibility criterion 1214,r such as to locate a certain promotional event. To that effect the marketing engine 1200 is adapted to search the database of promotional events 229 for entries 1210,m including an altered eligibility criterion 12 14 matching the value of the parameter.
In the context of the very specific example given above, the parameters "In February";
"refrigerated cars"; "from Dallas" and "to Montreal". The marketing engine 1200 , .

searches the database of promotional events 229 to find an entry for which the parameters are a match to a combination of the discount eligibility criteria 1212.n and the altered discount eligibility criteria 1214.n.
A second variant of the database of promotional events is shown on Figure 13.
In this second variant, marketing engine 1300 makes use of a set of rules 227 to alter at least one parameter in the set of parameters provided by the user to produce at least one altered parameter. The at least one altered parameter is derived from the parameters provided by the customer at steps 3000, 4000 and 5000.
The marketing engine 1300 perform a function similar to the marketing engine 1200 in that it searches the database of promotional events 229 for information related to promotional events for which the user would be eligible if at least one parameter identifying the transportation service was altered. In the second variant, the database of promotional events 229 maps information identifying discount eligibility criteria 1212,m to discount data elements 1216,m. The marketing engine 1300 is then operative for identifying at least one entry 1210,r in the database of promotional events 229 associated to a certain discount eligibility criterion 1212,r and to a certain discount data = element 1216,r, wherein the altered parameter satisfies the certain discount eligibility criterion 1212,r. Accordingly, the rules 1350,n in the set of rules 227 are provided, for example by the merchant entity 104, to direct the marketing engine 1300 to produce altered parameters corresponding to promotional events for which promotional information should be provided to the customer. The rules are therefore directed to identifying promotional events from which the user could benefit if a parameter specifying the transportation service was altered.
hi the context of the very specific example given above, the merchant entity may wish to inform a customer requesting a transportation service to be performed during a certain month, say February or December, that there is a promotional event that would apply in the previous (or subsequent) month, say January. In that case, the set of rules 227 includes a certain rule 1350,s directed to producing an altered parameter indicative of a transportation month incremented or decremented by one month. If the customer has entered at step 3000 a desired transportation month of February 2002, the marketing engine 1300 uses the certain rule 1350,s to produce two altered parameters indicative of 5 a transportation month of January, 2002 and March 2002 and searches the database of promotional events 229 for an entry 1210,m for which the discount eligibility criterion 1212,m is indicative of the either March 2002 or January 2002.
If one or more promotional event are located in the database of promotional events, the t 0 marketing engine 1200 or 1300 can use the certain discount data elements in order to compute one or more promotional price quotations. The promotional price quotations reflect the price that would be charged to the user for the transportation service if at least one parameter identifying the transportation service were altered. In specific examples of implementation, the promotional price quotations are computed using 15 methods similar to those presented herein above with respect to the initial price quote adjustment. As such, equations 7 and 8 are used to compute the promotional prices with the discount rate or the discount being replaced by the certain discount data element.
In a first example, once the initial price quote has been adjusted based on customer 20 profile, or on the basis of a particular marketing campaign, if eligible for either, the initial price quote and the adjusted price quote (if applicable) are transmitted over the computer network 106 to be displayed on the screen of the customer computing unit 112. The price quote may he transmitted to the customer computing unit 112 for display via the graphical user interface which is implemented by program element 218 25 from the merchant computing system 120 and automatically launches to aid customer 122. Alternatively, the price may he transmitted to the customer computing unit 112 via e-mail, snail-mail or any other suitable manner implemented by program element 218.
Where the parameters provided by the user satisfied all the discount eligibility criteria and a promotional event was located, the merchant computing system 120 forwards the 30 promotional price quotation to the customer's computing unit, which displays the price quotations to the customer through a graphical user interface. Optionally, the merchant computing system 120 forwards the initial price quotation, the promotional price quotation and the promotional event to the customer's computing unit, which displays this information to the customer through a graphical user interface such as to allow the user to view the discount. The promotional price quotation is transmitted to the user computing unit for display as the final price quotation.
In a second example where a promotional event for which the user may be eligible if at least one parameter specifying the transportation service was altered, and optionally the one or more promotional price quotation(s), was located at the customer computing unit 112 and also displayed on the "price display" page. More specifically, where a promotional event was located where the discount eligibility criteria would be satisfied by the parameters provided by the user if at least one parameter was altered, the merchant computing system 120 forwards a message indicating the candidate promotional event, the initial price quote and the promotional price quotation to the IS customer computing unit. The customer computing unit displays the above information to the customer through a graphical user interface.
In a first non-limiting implementation, the user is enabled through the user interface to modify at least one parameter describing the transportation service in order to benefit from the promotional event. If the user selected the initial price quote, the initial price quote is displayed to the user as the final price quotation. If the user chooses to modify a parameter such as to benefit from the promotional event, the promotional price quotation is forwarded to the customer computing unit for display to the user as the -final price quotation. The user interface allows the user to alter the parameters identifying characteristics or the transportation service. In a non-limiting implementation, the "price display" page includes a set of data elements associated to modification functions which may he selected by the user through a pointing device, touch sensitive screen, keyboard, voice recognition unit or other suitable input device.
The modification functions allow the user to modify the information entered at steps 3000, 4000 and 5000 and to request a new price quote.

In a second alternative non-limiting implementation, the customer is enabled to select the initial price quotation or to accept one of the one or more promotional price quotations. If the initial price quotation is selected, the initial price quote is forwarded to the customer computing unit for display to the user as the final price quotation. If a promotional price quotation is selected, the parameters identifying the transportation service are automatically altered by the merchant computing system 120 to satisfy the certain discount eligibility criterion associated with the accepted promotional price quote. The promotional price quotation is then is forwarded to the customer computing unit for display to the user as the final price quotation.
The initial price quote and the final price quote (if applicable) are 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.
Display Price Quote (Step 8000) and Accept, Reject or Save Price Quote (Step 9000) The final 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 can accept or rejects the final 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 in alternative implementations.
In a non-limiting example of implementation, when applicable, both the initial price quote and the final price quote are displayed to the user in order to allow the latter to view the savings.

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. The advertising may be indicative of the promotional events identified at step 7000 or may be indicative of other promotional events.
The "price display" page allows the user to accept, reject or save the final 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 t 0 "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.
If the final price quote is rejected, the customer's railway transportation order is deleted from the merchant computing system 120. The customer may submit through the I 5 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 hack 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 20 telephone or fax.
If the final price quote is accepted, then the order for the railway transportation service relating to that final 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 25 related to the final 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.
30 Finally, the customer may choose to save the quote, and optionally infbmiation indicative of the promotional event, 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.
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, a price quote, a promotional price quote and information indicative of a promotional event may also be submitted via electronic mail.
Although the above described specific examples of implementation describe a railway price quotation/ordering system 100 where the computations of the price quotes 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 and the marketing 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 "promotional event search engine" as well as the database of promotional events may also be implemented at the customer computing unit 112, or downloaded at customer computing unit 112 From the merchant computing system 120. In such a variant, the program element implementing the search engine derives a list of one or more promotional events to which the user would he eligible if a parameter was altered without requiring interaction with the merchant computing system 120.
En addition, although the above described specific examples of implementation describe 5 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 which may also include a U) program element implementation a user interface for allowing the user to view the price quotation information.
Although various embodiments have been illustrated, this was for the purpose of describing, but not limiting, the invention. Various modifications will become apparent 15 to those skilled in the art and arc within the scope of this invention, which is defined more particularly by the attached claims.

Claims (11)

CLAIMS:
1. A method for allowing a customer to obtain customized pricing information on-line for a rail transportation service from a railway transportation company over a data network for shipping goods by rail, the method being implemented by a programmable system including at least one programmable processor and comprising:
a) at a computing device associated with the customer, receiving data over the data network from a remote computing device, the data received directing the computing device to implement a graphical user interface (GUI), the GUI providing:
i) a first input object configured to accept a customer input identifying shipping parameters for the shipment of goods, the shipping parameters comprising:
(a) a type of goods to be shipped;
(b) a type of railcar to use for the shipment of goods;
ii) a dynamically adaptable second input object for displaying shipping service modification options, wherein one or more of the shipping service modification options are associated with respective modifications to the type of railcar to use for shipping the goods that would render a rail transportation service promotion eligible thereby entitling the customer to a promotion selected in a group consisting of a discount and an awarding of merchandise;
iii) wherein the GUI is configured such that the shipping service modification options displayed at the second input object are individually selectable by the customer;
iv) in response to a customer input at the first input object identifying specific shipping parameters for the shipment of goods including a specific type of goods to be shipped and a specific type of railcar to use for the shipment of goods, directing the GUI to display in the dynamically adaptable second input object a set of specific shipping service modification options, wherein at least one of the specific shipping service modification options displayed at the second input object presents the customer with:
(a) a suggested modification to the specific type of railcar specified at the first input object including an alternate specific type of railcar different from the specific type of railcar specified at the first input object;
(b) an identification of a specific promotion to which the customer would be eligible if the modification suggested in (a) is accepted by the customer;
v) in response to a customer input at the second input object identifying a specific shipping service modification option in the set of shipping service modification options, directing the GUI to display pricing information associated with the specific shipping service modification option selected by the customer.
2. A method as defined in claim 1, wherein the specific promotion to which the customer would be eligible if the modification is accepted by the customer includes a specific discount.
3. A method as defined in any one of claims 1 to 2, wherein the graphical user interface (GUI) implemented at the computing device associated with the customer is displayed via a web browser.
4. A method as defined in claim 1, wherein the first input object is configured to allow the customer input identifying the type of goods to be shipped to be made as a STCC code.
5. A method as defined in any one of claims 1 to 4, including directing the GUI to display a validity period associated with the pricing information displayed.
6. A method as defined in claim 1, including directing the GUI to implement a control component allowing the customer to place an order with the rail transportation company for the shipment of goods based on the pricing information displayed by the GUI.
7. A method as defined in any one of claims 1 to 6, wherein the specific type of railcar identified at the first input object by the customer is one of a flatbed car, a refrigerated car, a gondola car, a tanker car, a boxcar, a central beam car, a grain car, a railcar for hazardous materials and a hopper car.
8. A method allowing a railway transportation company to provide customized pricing information for a rail transportation service to a customer over a data network for shipping goods by rail, the method being implemented by a programmable system including at least one programmable processor, the method comprising:
a) transmitting data over the data network to a computing device associated with the customer, the data transmitting directing the computing device to implement a graphical user interface (GUI) at the computing device associated with the customer, the GUI providing:
i) a first input object configured to accept a customer input identifying shipping parameters for the shipment of goods, the shipping parameters comprising:
(a) a type of goods to be shipped;
(b) a type of railcar to use for the shipment of goods;
ii) a dynamically adaptable second input object for displaying a set of shipping service modification options, wherein one or more of the shipping service modification options are associated with respective modifications to the type of railcar to use for shipping the goods that would render a rail transportation service promotion eligible thereby entitling the customer to a promotion selected in a group consisting of a discount and an awarding of merchandise;
iii) wherein the GUI is configured such that the shipping service modification options displayed at the second input object are individually selectable by the customer;

b) in response to receipt at the programmable system of information provided at the first input object of the GUI and identifying specific shipping parameters for the shipment of goods including a specific type of goods to be shipped and a specific type of railcar to use for the shipment of goods:
(a) processing the specific shipping parameters for the shipment of goods jointly with a promotional event database to identify one or more specific shipping service modification options for rendering the shipment of goods promotion eligible;
(b) transmitting data to the computing device associated with the customer for directing the GUI to display in the dynamically adaptable second input object the one or more identified specific shipping service modification options, wherein at least one of the specific shipping service modification options displayed at the second input object presents the customer with:
(i) a suggested modification to the specific type of railcar specified at the first input object including an alternate specific type of railcar different from the specific type of railcar specified at the first input object;
(ii) an identification of a specific promotion to which the customer would be eligible if the modification suggested in (a) is accepted by the customer;
(c) in response to receipt of information identifying a specific shipping service modification option in the set of shipping service modification options provided at the second input object of the GUI, transmitting data to the customer computing device associated with the customer for directing the GUI
to display pricing information associated with the specific shipping service modification option selected by the customer.
9. A method as defined in claim 8, said method comprising providing a computer readable storage medium storing the promotional event database, the promotional event database including a plurality of entries mapping promotion eligibility criteria to promotional events.
10. A method as defined in claim 8, wherein the specific promotion to which the customer would be eligible if the modification is accepted by the customer includes a specific discount.
11. A method as defined in any one of claims 8 to 10, wherein the specific type of railcar identified at the first input object by the customer is one of a flatbed car, a refrigerated car, a gondola car, a tanker car, a boxcar, a central beam car, a grain car, a railcar for hazardous materials and a hopper car.
CA2418258A 2002-02-01 2003-01-31 System and method for providing customized pricing information on-line for a transportation service with promotional event notification capability Expired - Lifetime CA2418258C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA2418258A CA2418258C (en) 2002-02-01 2003-01-31 System and method for providing customized pricing information on-line for a transportation service with promotional event notification capability

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
CA002370061A CA2370061A1 (en) 2002-02-01 2002-02-01 System and method for providing a price quotation for a hybrid transportation service
CA2,369,836 2002-02-01
CA2370084A CA2370084C (en) 2002-02-01 2002-02-01 System and method for on-line ordering of a transporation service providing route selection capability
CA2,370,061 2002-02-01
CA002370065A CA2370065A1 (en) 2002-02-01 2002-02-01 System and method for providing a price quotation for a transportation service providing selective price adjustment capabilities
CA002370068A CA2370068A1 (en) 2002-02-01 2002-02-01 System and method for providing a price quotation for a transportation service providing selective price adjustment capabilities based on customer profiles
CA2,370,068 2002-02-01
CA2,370,065 2002-02-01
CA2,370,053 2002-02-01
CA2,370,084 2002-02-01
CA002370053A CA2370053A1 (en) 2002-02-01 2002-02-01 System and method for providing a price quotation for a transportation service based on equipment ownership
CA 2369836 CA2369836A1 (en) 2002-02-01 2002-02-01 System and method for providing a price quotation for a transportation service providing equipment selection capability
US43663702P 2002-12-30 2002-12-30
US60/436,637 2002-12-30
CA2418258A CA2418258C (en) 2002-02-01 2003-01-31 System and method for providing customized pricing information on-line for a transportation service with promotional event notification capability

Publications (2)

Publication Number Publication Date
CA2418258A1 CA2418258A1 (en) 2003-08-01
CA2418258C true CA2418258C (en) 2017-11-28

Family

ID=27671356

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2418258A Expired - Lifetime CA2418258C (en) 2002-02-01 2003-01-31 System and method for providing customized pricing information on-line for a transportation service with promotional event notification capability

Country Status (1)

Country Link
CA (1) CA2418258C (en)

Also Published As

Publication number Publication date
CA2418258A1 (en) 2003-08-01

Similar Documents

Publication Publication Date Title
US20180260765A1 (en) System apparatus and method for conducting an outline transaction to fulfill a rail-shipment service inquiry or a rail-shipment service ordering
US7792762B2 (en) System and method for providing a price quotation for a transportation service providing route selection capability
US20080201243A1 (en) System and method for providing a price quotation for a transportation service based on equipment ownership
US20080201274A1 (en) System and method for providing a price quotation for a transportation service
US7680674B2 (en) System and method for providing a price quotation for a transportation service having promotional event notification capabilities
CA2370065A1 (en) System and method for providing a price quotation for a transportation service providing selective price adjustment capabilities
US20030163331A1 (en) System and method for providing a price quotation for a transportation service providing selective price adjustment capabilities based on customer profiles
CA2418258C (en) System and method for providing customized pricing information on-line for a transportation service with promotional event notification capability

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20230131