The field of the present invention is computer systems for shipping management, and specifically online computer systems for enterprise parcel shipping management.
Major corporations, small businesses and individuals (the “Shipper(s)”) ship billions of parcels every year. Each parcel carrier (the “Carrier(s)”) has its own unique rating schedule, delivery and pickup rules and schedules, and certification requirements.
Within an enterprise, such as a corporation or governmental entity, a parcel to be shipped may pass through a number of different individuals and departments within the organization before shipment is accomplished. In a paper-based or non-integrated shipping system environment, the enterprise suffers lower productivity due to several employees within the enterprise repeatedly writing or entering the same or similar information. Consider the following illustrative example.
A customer service employee in the customer service department of a corporation is contacted by one of the corporation's customers. The customer orders a replacement part for a product previously purchased from the corporation. In a telephone conversation, the customer service employee records in writing shipping and payment information about the customer and the customer's order for the particular replacement part. The customer agrees to pay for shipping as well as for the replacement part. The customer service employee forwards the order and the shipping and payment information to the parts department. An employee in the parts department receives the order and the shipping and payment information. The parts department employee locates the replacement part, forwards the replacement part and shipping instructions to the shipping department and forwards the payment information to the accounting department for processing. The shipping department employee writes, or enters into a computer, much of the same information that was previously recorded by other employees of the same corporation, and analyzes any specific shipping requirements specified by the customer, to complete paperwork to ship the package in accordance with the corporation's shipping policies. The shipping department employee notifies the accounting department of the amount to be charged for shipping. An accounting department employee enters the payment information into a computer accounting system, processes the payment for the part and for the shipping, and sends a notification to the shipping department that payment for the part and for shipping the part has been processed.
In the illustrative example above and as is the case in many enterprises, the shipping origination employee, the customer service employee, is not a shipping professional. Nor are the shipping intermediaries, such as the parts department and accounting department employees. Such shipping origination and shipping intermediary employees may arrange for only a single shipment a day, or may need to ship many packages at once. Such shipping origination or shipping intermediary employees are often unfamiliar with shipping industry terms, and require that shipping options be described explained in plain English. They do not know or may often not remember corporate shipping policies such as which carrier to use under certain circumstances, what account number should be used, whether to enter charge-back codes, whether to fill in the declared value, etc. They may record the improper information on shipping requests.
Mailroom and shipping dock personnel, such as the shipping department employee described above, are, more than likely, professional shippers. They will be trained on the shipping policies and procedures for the organization, and part of their job may entail enforcing such policies and procedures. They may be familiar with the shipping system of at least one carrier. They spend significant amounts of time transcribing information from paper-based shipping requests onto Carrier airbills or into Carrier systems and often correcting, if they catch them, mistakes made by shipping origination or intermediary employees in recording shipping request information.
Shipping Managers set shipping policies for the enterprise. They are in charge of cost centers. Because they run cost centers and do not generate revenue for their company, they are sometimes rewarded on their ability to save money. Their job revolves around reducing costs and assigning costs to the appropriate department. Because their job is to reduce costs, Shipping Managers are not typically receptive to purchasing system solutions that have high system Total Cost of Ownership.
Shipping Management may work at different levels or locations within their organization. Some shipping management personnel may only need to review reports, while others may be responsible for coordinating with carriers, monitoring rates and establishing employee-user shipping privileges for each of possibly several corporate locations. Shipping Management Support Staff are responsible for routine administrative tasks.
Many enterprise shipping departments (“Enterprise Shippers”) manually refer to a mixture of separate, individual paper-based and online systems (a “non-integrated multiple standalone Carrier system environment”) to determine the rate for shipping a particular parcel and to determine the optimal carrier with which to ship that particular parcel according to the constraints and requirements involved. With regard to shipping a particular parcel, Enterprise Shippers must consider a combination of factors, including but not limited to parcel dimensions, parcel weight, origin/destination specifications, parcel value, parcel value loss protection, budgetary, timing, pickup, delivery, delivery notification, delivery service, and other service option constraints and requirements.
In a non-integrated multiple standalone Carrier system environment, effective comparison shopping across multiple carriers is generally difficult and time-consuming. Many enterprise shipping departments rely instead on one or two familiar Carriers rather than comparison shopping each parcel across multiple Carriers.
Once an enterprise shipping department employee (also “Enterprise Shipper”) selects a particular Carrier, the Enterprise Shipper must label the parcel with the information appropriate for the selected Carrier. In a non-integrated multiple standalone Carrier system environment, the Enterprise Shipper must interpret and apply a particular Carrier's rules and requirements in order to prepare the necessary manifest documents to ship a particular parcel.
An Enterprise Shipper that deals with a particular Carrier on a recurring basis may set up an account with the particular Carrier (“Enterprise Account-Holder Shippers”). Some Carriers provide Enterprise Account-Holder Shippers with a copy of that Carrier's software system if one exists. Each individual Carrier's software system has its own unique look and feel.
Rather than learn multiple standalone Carrier systems, some Enterprise Shippers choose instead to rely on a manual system, including the manual preparation of parcel labels; some develop a dependency on a single Carrier-provided system even though such a policy often results in non-optimal shipping costs.
An Enterprise Shipping Management solution is needed that increases shipping origination, shipping intermediary, and shipping user productivity and that reduces shipping costs, improves shipping management, and has a low system Total Cost of Ownership.
The present invention provides a computer system (the “System”, or the “Enterprise Shipping System”) that is configured and programmed to provide enterprises, such as, for example, large corporations, governmental entities, and retail shipping entities, with online, multi-parcel, multi-carrier, multi-service enterprise parcel shipping management. The present invention provides a plurality of Enterprises with a single online user interface with which the Enterprise can provide Enterprise Shippers, shipping origination users and shipping intermediary users with an automated parcel management system for a plurality of supported Carriers for a plurality of services. The present invention provides for the hierarchical definition of users, including the establishment of at least one user for each Enterprise as a Super-Administrator with the highest level of privileges and authority for the Enterprise, and the identification of other users as Sub-Administrators, Desktop Users and Shipping Station Users. The present invention also provides for the hierarchical definition of organizational units within each Enterprise, including the definition of sites, groups within a site, and users within a group. The present invention further provides for a distinct definition of policies, privileges, and other types of specifications for each user level, each user, and each organizational unit. The present invention applies the user and organizational policies, privileges and other specifications as they apply to each particular user to drive the interactive interface with each particular user and to provide among other things, shipping options, shipping services, shipping rates, traveler and/or shipping label preparation, and shipment tracking.
The System prompts a user, authorized by a particular enterprise as an administrator, to input a set of shipping policy rules. The System collects the shipping policy rules and stores them in System databases. Shipping policy rules, shipping privileges, and related options established by an administrator are sometimes collectively referred to herein as shipping parameter specifications.
The System prompts each user to input user preferences for shipping. Each user can accept as defaults the preference settings established by the administrator. In the alternative, the user can set personal preferences. However, the System only allows users to set preferences that are a subset of the shipping policy rules set by the administrator.
The System prompts each user to input information about a package to be shipped and to input information about how the user wants the package to be shipped. Each parcel to be shipped is characterized by a set of package criteria. Each shipping request is characterized by a set of parcel shipping criteria. The System only allows the user to ship packages according to the shipping policy rules set by the administrator.
The System provides Enterprise Shippers with an online display comparison of multiple services offered by multiple carriers for a particular parcel from which the lowest cost or fastest delivery Carrier and Service can be selected by, or dictated to, origination and/or intermediary shippers. In one embodiment of the invention, the online display comparison is in the form of an expandable and contractible array. The user places a shipping order by selecting an entry from the comparison array (also referred to herein as the “Grid”).
The System generates an internal system tracking number for the shipping order, and saves the internal system tracking number for the shipping order in a database.
The System generates a graphic representation of a shipping label corresponding to a particular shipping order and displays the graphic representation of the shipping label on a display monitor connected to a computer accessible by the user.
The System generates a set of printable shipping label data in response to a shipping label print request by a user and sends the set of printable shipping label data to a printer connected to the computer accessible by the user.
Each shipping order with a tracking number is characterized by a shipping status. The System generates a tracking report record depicting the shipping status of a shipping order in response to a user tracking report request for the shipping order.
The System increases user productivity with an easy to understand, wizard-like, browser-based interface featuring, among other things, personal, department, and corporate address books, shipping history with integrated tracking, common User Interface across multiple carriers, desktop label printing, shipment pre-processing, and in some embodiments, completion of international shipment documentation requirements.
Centralized reports provide Shipping Managers with the information required to negotiate the most favorable rates with Carriers and to audit Carrier performance. Centralized policy enforcement and reports improve chargebacks and cost reporting by more effectively implementing and enforcing shipping policies and procedures.
The total cost of ownership is low in that the preferred embodiment of the invention uses an ASP (Application Service Provider) model that provides inexpensive centralized maintenance of Carriers and standard rates, and centralized administration of users and shipping policy logic.
The System provides Enterprise Administrative features with which Shipping Management, among other things, defines an enterprise's policies, authorizes certain user privileges at various levels, and identifies reporting requirements.
The System also provides Enterprise Desktop features which facilitate desktop rating, shipping, and tracking by shipping origination and intermediary users and by Enterprise Shippers, in accordance with enterprise policies and procedures.
These and other features of the present invention are more fully set forth in the following description of exemplary embodiments of the invention. The description is presented with reference to the accompanying drawings in which:
a through 30c are logic flow diagrams depicting an exemplary high level logic flow for a Consumer's experience with an exemplary embodiment of the Returns System of the present invention from within a Merchant's Online store;
a-39c are high level logic flow diagrams depicting control communications with client machine peripheral devices in an exemplary embodiment of the System in an Internet environment;
a through 44b, and 45 are high level data retrieval logic flow diagrams depicting the data and high level logic that the system uses to calculate a shipping rate;
a through 46c are high level flow diagrams depicting the initial timing and rating logic to develop a dynamically dimensioned, multi-carrier, multi-service shipping rates comparison Graphic Array in an exemplary embodiment of the System in an Internet environment;
A portion of the disclosure of this patent document, including but not limited to the renderings of graphic user interface displays in the FIGURES, contains material which is subject to copyright protection by Stamps.com, Inc. Stamps.com, Inc. has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
“iShip.com™” (sometimes also referred to herein as “ISHIP.COM” or simply as “iShip.com”), “iShip™” (sometimes also referred to herein as “ISHIP” or simply as “iShip”), “The Internet Package Shipper™” (sometimes also referred to herein as “THE INTERNET PACKAGE SHIPPER” or simply as “The Internet Package Shipper”), “Price It™” (sometimes also referred to herein as “PRICE IT” or simply as “Price It”), “Sell It™” (sometimes also referred to herein as “SELL IT” or simply as “Sell It”), “Track It™” (sometimes also referred to herein as “TRACK IT” or simply as “Track It”), “Ship It™” (sometimes referred to herein as “SHIP IT” or simply as “Ship It”), “Shipping Tools™” (sometimes referred to herein as “SHIPPING TOOLS” or simply as “Shipping Tools”), “My iShip™” (sometimes referred to herein as “MY ISHIP” of simply as “My iShip”) and associated logos are trademarks of Stamps.com, Inc. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
The computer System of the present invention provides a plurality of Enterprises with a single online user interface with which the Enterprise can provide Enterprise Shippers, shipping origination users and shipping intermediary users (“Enterprise Users”, or simply “Users”) with an automated parcel management system for a plurality of supported Carriers for a plurality of services.
Carriers 4a-4n supported by the System include Carriers such as Airborne® (sometimes referred to herein as “AIRBORNE” or simply as “Airborne”), FedEx®, (sometimes referred to herein as “FEDEX” or simply as “FedEx”), United Parcel Service®, (sometimes referred to herein as “UNITED PARCEL SERVICE” or simply as “UPS”), USPS®, (sometimes referred to herein as “USPS”), and Yellow Freight® (sometimes referred to herein as “YELLOW FRIEGHT” or simply as “Yellow Freight”). The System 1 is completely expandable and scalable to include additional Carriers 4a-4n and additional Enterprises 2a-2n.
As depicted in
Enterprise Users access and browse the Internet 15 using a web browser 14 that generally resides and is executed on the user's PC 8 (with Windows 95, 98, NT 4.0, or 2000 Professional). The web browser 14 (such as Internet Explorer™4.0+, or Netscape Navigator™ 4.0+) allows the Enterprise User 7 to retrieve and render hyper-media content from one or more System Server computers, e.g., 20a-21z.
As depicted in
Other servers are configured as Database Servers. In an exemplary embodiment of the invention, the Database Servers are SQL Servers. Some of the Database Servers are configured to access Rating Database Data. The Database Servers that are configured to access Rating Database Data are referred to as the Rating Servers.
The Web server computers communicate through the Internet with client computers. The client computers are used by shippers to interact with a user interface provided by the system.
In the exemplary embodiment of the invention, the system further provides at least one server computer that acts as a scheduler or “Load Balancer”. The Load Balancer selects one of the plurality of shipping Web servers 21m-21r based on the load of work performed by that selected shipping Web server as compared to the other shipping Web servers. The Load Balancer directs incoming data to the selected shipping Web server for processing.
An overview of an exemplary System architecture is depicted in
The Data Management Tier 1201 is comprised of a Database Storage component 1202 that in the embodiment depicted uses an SQL Server; a Message Queue Storage component 1203 that in the embodiment depicted uses MS Message Queue; and a File Storage component 1204 that in the embodiment depicted uses NTFS, and DFS. Each of the Database Storage component 1202, the Message Queue Storage component 1203, and the File Storage component 1204, communicate with the Component Tier 1208 of the System architecture, communications by each component with the Component Tier 1208 represented by elements 1205, 1206 and 1207 respectively. According to the embodiment depicted in
The Application Tier 1212 of the System Architecture is comprised of a Web Shipper Client component 1213 (which uses HTML (HyperText Markup Language), ASP and JavaScript), the NOC Administration component 1214 (which uses HTML, ASP, VB, and C++), and the Web Shipping Station component 1215 (which uses HTML, ASP, JavaScript, C++, and ActiveX Controls). Each of the Web Shipper Client component 1213, the NOC Administration component 1214, and the Web Shipping Station component 1215 communicate with the Server Components of the Component Tier 1208 as represented by the communication elements 1209, 1210 and 1211 respectively.
In one embodiment, the System is implemented in an NT environment. The description of the System as being implemented in an NT environment is exemplary and is not a limitation of the invention.
Continuing with
In the exemplary embodiment of the invention, tracking is performed whenever possible using carrier-specific Tracking API's (Application Program Interface). For a Tracking API, a Carrier predefines a layout for tracking requests and predefines a layout for tracking request responses. The System 1 then provides tracking request data according to the layout predefined by the particular carrier. When the System 1 receives tracking request response data from the particular Carrier, the System 1 parses the response data according to the tracking request response layout predefined by the particular Carrier. In order to communicate with each Carrier's system, the System 1 uses the particular Carrier's Internet URL for the particular Carrier's web server system with which to make an HTTP connection to the Carrier's web server, e.g., 23-2, Depending upon the Carrier, the System's 1 tracking request and response interface with the Carrier's web server may be formatted and programmed using HyperText Markup Language (“HTML”), Extensible Markup Language (“XML”), both HTML and XML, or any requirement specified by a Carrier.
In the exemplary embodiment of the invention, in cases in which a particular Carrier does not support an API, the System performs tracking using an alternative approach sometimes referred to as “web scraping”. In order to track using the web scraping approach, the System 1 communicates with a Carrier by formatting HTML queries to the Carrier's Internet Website. The System 1 is programmed to receive and parse HTML responses from that Carrier's Website. The web scraping process simulates the presence and interactivity of a user at the particular Carrier's Website.
It will be understood by someone with ordinary skill in the art that the invention can be installed on an Intranet for an individual enterprise without departing from the spirit of the invention.
A. Enterprise Administration
As described in more detail below, the System provides for the hierarchical definition of users. The System provides for the establishment of at least one user for each Enterprise as a Super-Administrator with the highest level of privileges and authority for the Enterprise. The Super-Administrator can identify other users as Sub-Administrators. With this understanding in mind, general reference is sometimes made below to Super-Administrators and Sub-Administrators collectively as “administrators”.
As described in more detail below, the System also provides for the hierarchical definition of organizational units within the Enterprise. For example, the System provides for the definition of sites, groups within a site, and users within a group. The System provides each Enterprise with the flexibility to determine the manner in which the Enterprise defines such organizational units, and the manner in which the Enterprise defines shipping policies and privileges for users in its organization. For example, a large company with many offices may decide to define each address as a distinct site. Another large company with thousands of people in a particular location may decide to define different departments as distinct sites.
As further described in more detail below, the System also provides for a distinct definition of policies, privileges, and other types of specifications for each user level, each user, and each organizational unit.
As depicted in
As depicted in
Each Enterprise has a Super-Administrator who is given the highest level of privileges and authority to define sites, groups, and other administrators (Sub-Administrators). Sub-Administrators can perform the same functions as Super-Administrators for the hierarchical level (e.g., site, or group) for which the Sub-Administrator is defined unless the Super-Administrator, or some higher-level Sub-Administrator has restricted their level to do so.
The System enables an administrator to define a plurality of shipping locations, also referred to as sites. Each site is a distinct shipping location that may have individual carrier accounts and customized rates, as well as distinct users, associated with it. As part of the site definition, the administrator may specify such things as: origin address information; available Carriers available for all users of that site, including carrier account and rate information; available drop-off locations, including corporate drop-off locations, if any, and/or carrier drop-boxes, offices, call-for-carrier-pick-up, MBE locations, etc.; instructions to be provided on the bottom half of the shipping/traveler label; and the traveler label format to be used.
The System is scalable from an administrative standpoint in that it provides for the definition of any number of sites, groups and users. In one embodiment of the invention, site creation privileges are limited to the Super-Administrator; site editing and maintenance tasks can be performed by other administrators.
The site definition for the site with which each particular User is associated, and the particular User's privileges as established by the User's administrator, drive the options displayed on the Desktop shipping screens for the particular User.
For each site, the administrator can define different pick-up and drop-off options available for getting shipments to the carrier, including the cutoff time for each option. For each site, the administrator can define distinct methods by which a package may be provided to each Carrier, including: corporate drop-off locations (such as a mailroom, a receptionist's desk, etc.); call for Carrier pick-up; Carrier drop-box; staffed Carrier service center; or retail shipping locations such as Mail Boxes Etc.
For each Carrier delivery method, the System provides the administrator with the ability to define an associated cutoff time, the relevant Carrier or Carriers, and descriptive information about the option, such as, for instance, text providing the location, such as address information, or phone numbers in the case of call for pick-up. The drop-off location that a particular User chooses drives the instructional text provided on the shipping or traveler label that the particular User chooses to print.
As will be described in more detail below, a “traveler” label is not an actual shipping label. Rather, a traveler label is a pre-processing label that the User chooses to print and then provides with the package to an Enterprise Shipper; the receiving Enterprise Shipper uses the traveler label to complete the processing necessary to print a shipping label.
For each site, the administrator can create a plurality of groups; each group can be defined to contain a distinct list of individual Users.
The System provides the administrator with the capability to add, edit and delete groups, to specify a group's site, identify (add or delete) the Users contained within each site, and maintain (add, change or delete) User privileges and User defaults assigned to each group. The System provides the administrator with the capability to extract a list of all User e-mail addresses for the Users within a particular group.
Within each group, the administrator can manage User accounts, including creating and deleting User accounts, User security information, and User preference information. The System provides the administrator with the ability to move Users between groups, and to maintain User security information and User information such as return addresses, e-mail addresses, and User preferences. The System provides the administrator with the ability to maintain User security information through such options as resetting a User's password, requiring that a User's or a group of User's passwords be changed on next use, and suspending or reactivating a User's account or password. In one embodiment of the invention, the System will provide the administrator with the capability to define password aging intervals, password length, password content rules, and other types of User security settings.
The System further provides the administrator with the ability to bulk load users into a group. When bulk loading users, the System provides the administrator with the capability to upload a file containing User IDs. The administrator can commit an uploaded file of User IDsto a particular group with a common password; the System will then require each User in the group to change the common password to an individual password upon first use.
For each group, the administrator can assign different User privileges. Administrator-established privileges for each particular User controls the functionality available to the particular User. On a Group basis, the System provides the administrator the ability to assign User privileges such as:
1) Availability of defined Carriers (including carrier accounts), Carrier services, and Carrier service options in the Ship It and Price It functions of the Shipping System;
2) Availability of Price It and Ship It functional areas;
3) Availability of defined drop-off locations;
4) Ability to print shipping labels vs. traveler labels, by Carrier or by service;
5) Availability of different payment methods;
6) The rate set(s) to use;
7) Ability to use the Desktop function, the Shipping Station function, or both (in one embodiment, the Shipping Station function is shipping-label-print-capable and the Desktop function is not);
8) Ability to run End of Day processing.
For each group, the administrator can delegate administrative tasks and can assign different administrative privileges to control the administrative tasks performed by group administrators. In one embodiment of the invention, assignable administrative privileges include the ability to: create/delete corporate sites; edit corporate site information; create/delete/edit carrier accounts; create/delete groups; edit group information, including assigning user privileges to groups; create/delete/edit user information; create users with administrative privileges; create/delete/edit shared address books; and define and run reports. Administrators can only create administrators and assign administrative privileges with privileges equal to or less than their own.
The End-of-Day processing privilege is picked up by the Desktop function to enable display of an End-of-Day processing link. Other administrative privileges picked up by the Desktop function enable the display of the appropriate Administrative link.
An administrator can specify default user preference information and specify whether or not the preference is editable by a User. An administrator can also edit individual User preferences. The System warns the administrator if editing a default preference for an existing group of Users would overwrite or override existing User preference settings. The Desk Top Shipping application uses the User preference settings established by the administrator.
The Super-Administrator can alter certain system settings that are to be applied on a company-wide basis.
Administrators with the proper privileges can modify settings that apply on a customer-wide, enterprise-wide basis, including: return e-mail address and “from” e-mail address for system generated e-mails; message text to use for different system generated e-mails, such as notifications, system welcome e-mails, and the like; header and footer HTML information; enable and disable “sticky” logins for the Desk Top Shipping application; allowable number of unsuccessful login attempts; configurable inactivity time before logout; enable and disable password recovery methods available through the Desk Top Shipping application, such as through the login page; logoff URL to which the System is directed at logoff; and toggle on/off address validation.
Administrators with the proper privileges can define status messages that will appear on the home page for the Desk Top Shipping Application User. There are several levels of messages, including: 1.) Desk Top wide status messages that are to be shown to one or more Desk Top customers; 2.) Customer-wide messages—defined by an administrator for a particular enterprise for circulation to all Users for that enterprise; 3.) Site-specific messages—defined by an administrator for a particular enterprise for circulation to all Users for a particular Site; and 4.) Client specific messages, e.g., to be circulated to all Desk Top Users for a particular enterprise, to all administrators for a particular enterprise, or to all Shipping Station Users (in an embodiment in which a Shipping Station application is provided separately from the Desk Top application).
The System provides the administrator with the capability to set a status message expiration date or validity period so that the administrator does not have to remember to “turn off” a message. The System supports multiple messages at any one time. The System uses the available screen size to determine the limit for messages based on the size of each message and the number of messages. The System supports prioritization of messages so that messages with the highest priority are displayed most prominently, e.g., at the top of the messages displayed.
The System provides administrators with limited maintenance capability for shipments entered by Users. For example, administrators can, among other things: 1.) view or void shipments with traveler labels printed but with no shipping label printed; and 2.) perform End of Day processing. Users with the proper privileges can run end-of-day processing through either the Administrator application or through the Desk Top Application.
Administrators with the proper privileges can create and manage (edit, delete, update individual address book entries) shared address books for use by Users. Administrators can create shared address books at enterprise, site and group levels and can import address data into the shared address books to load the addresses. Administrators with the proper privileges can upload a file containing addresses into the System and import the addresses into specific address books for which the administrator is authorized to create. In one embodiment, the import file is a text file formatted according to specific System requirements.
The System further provides a “live” interface with pre-existing address book systems so that maintenance to the pre-existing address book system(s) is automatically reflected in the System address books. In one embodiment, this “live” address book interface is limited to the enterprise level. In one embodiment, the “live” address book interface uses hierarchical levels in the pre-existing address book system(s) with which to update appropriate System address book levels. Individual Users can establish personal User address books. However, individual Users can only update enterprise, site, group or other shared address books if the User has User address book maintenance privileges and then only for address books “owned” by entities (enterprise, site, or group) for which the User has such privileges.
In order for Users to be able to ship with different Carriers, the administrator sets up each Carrier with which the enterprise will ship with account numbers, rates, etc. Administrators with the proper privileges can enable or disable particular Carriers for each site.
The System provides the administrator with the capability, for each site, to: 1.) select for use by a particular site Carriers from a plurality of all Carriers supported by the System; 2.) assign a Carrier account number for each Carrier for that site; 3.) assign the enterprise's custom rates to each Carrier; and 4.) subject to Carrier limitations and approval, commission each site, as appropriate, for electronic label printing. Administrators can define more than one Carrier for each site, and can assign more than one account for each Carrier for each site. Carrier account numbers must be set up with the Carriers as well as in the System. In one embodiment, the System provides electronic commissioning of Carrier accounts.
Administrators can maintain rate information, including custom rates from Carriers for the Enterprise, Site or Group, as appropriate. In one embodiment, custom rates are set by the System's administrator for each enterprise supported by the System. In an alternative embodiment, administrators with the proper privileges define the enterprise's custom rates to the System.
In an embodiment that supports administrator rate maintenance, administrators with the proper privileges can maintain the enterprise's rate information for each Carrier selected for use by that enterprise. The System provides the administrator with the capability to: 1.) upload the enterprise's rate information for import into the System; 2.) define any percentage markups and/or fixed handling charges to be added to the enterprise's custom rates for the Price It feature (described further below) of the Desk Top Shipping application; 3.) define any percentage markups and/or fixed handling charges to be added to enterprise's custom rates for the Ship It feature (described further below) of the Desk Top Shipping application; 4.) specify whether the System transactions fees should be added to the enterprise's custom rates for the Price It and/or the Ship It features of the Desk Top Shipping Application and specify the fees to be added; and 5.) create rate sets. When generated by the Desk Top Shipping Application (or the Shipping Station Application) of the System, the Graphic Array Comparison (described further below) will display prices that include any such appropriate percentage markups, handling charges, and/or transaction fees as established through the Administrator feature of the System. Accordingly, each enterprise can charge such items back to the appropriate cost centers in addition to charging the cost centers with the Carrier shipping charges.
The System provides administrators with the capability to obtain management summary reports according to various parameters, including among other things, for different dates, enterprise levels and types of shipping activity taking place within the enterprise's account. Management reports are available at the enterprise level, site level, group level, or User level. Such reporting is subject to privilege and accessibility levels. The administrator specifies the desired reporting parameters and select the report or reports from available types of reports.
In one embodiment of the invention, given a particular date range and reporting level, the System provides the administrator with the capability to select from a variety of types of reports, including, for example: 1.) piecharts for each Carrier showing service usage; 2.) histogram showing weight distribution; 3.) histogram showing destination distributions by state; 4.) table showing package totals and shipping charge totals by carrier, average weight, charge, and cost per pound, all broken down by sub-level.
The System further provides administrators with the capability to obtain detailed activity reports for different dates, levels and types of shipping activity taking place within the company's account. Activity Reports provide detailed listings of shipping activities and charges for use by groups, and cost centers to verify shipping activities and for use by management to charge back shipping activities.
Activity Reports are available at enterprise level, site level, group level and/or User level. Administrators can specify the date range and reporting level and can specify reporting breaks based on a variety of factors, including, for example: site, Carrier, group, Shipper's Reference Number, or User. For each break, itemized shipments are reported with a variety of fields, including, for example: date, sender (by User ID), rate destination (may be detailed, or summary), reference number(s), weight, Carrier, and Carrier/Service. Each break reports the total of shipments and shipping charges; the next break item begins a new page.
The System further provides the administrator with the ability to request activity reports in the form of data. In one embodiment, report data is provided in the form of a delimited text file for import and analysis into an analysis and reporting tool such as, for example Microsoft® Excel®. Reports for a given level, whether Activity or Management, are only accessible to Users or Administrators with reporting privileges at that level or higher.
B. Enterprise Desktop Shipping
In addition to the Administrative Client, the System also provides Enterprise Desktop features (sometimes referred to herein alternatively as the “Desktop Client”, the “EED” (which stands for “Enterprise Edition Desktop”), or the “Enterprise Desktop Client”) which facilitate desktop rating, shipping, and tracking by shipping origination and intermediary users and by Enterprise Shippers, in accordance with enterprise policies and procedures.
Attached hereto is Appendix A, which is incorporated here as if fully stated here and is a part hereof for all purposes. Appendix A hereto is a functional specification for one exemplary embodiment of the Enterprise Desktop Client. Appendix A contains exemplary screen renderings, field descriptions, field edits, and data relationship descriptions for many of the functions described below.
In one embodiment of the invention, a Shipping Station. Client is provided by the System which is distinct from the Enterprise Desktop Client. In such an embodiment, the Shipping Station Client is used to finalize shipping documents for which data is originated in the Enterprise Desktop Client.
1. First-Time User Setup.
Enterprise Desktop Client Users (“Desktop Users”, or simply “Users”) are directed by the System though a special registration setup path when the User logs on to the System for the first time. The System is sometimes referred to herein as iShip, or the iShip system. The registration setup path enables Users to specify personal default parameters, including, for example, the User's:
Not all of the personal default parameters (return address, for example) will be editable depending upon settings established by the Administrator. The Administrator can control via the Administrator client which User defaults are editable by non-administrator User's.
If so configured by the Administrator, the registration setup path will require the first-time User to change the first-time password established on their behalf by the Administrator.
The user interface for User registration is customizable with the particular Enterprise's intranet style. The System provides the Administrator with the capability to customize the look and feel of the User registration interface by customizing the headers, footers, and color scheme used in the interface screens. The User registration interface identifies each User in the System databases as registered to a specific enterprise account.
Enterprise Desktop Client user registration is available to users accessing the System from the Internet and through most common corporate firewalls. In one embodiment, the System web site is optimized for Netscape Navigator 4.04 or higher, and Internet Explorer 4.0 or higher.
The Administrative Client, as described above, provides the Administrator with the capability to bulk load users for a given site, assigning them each a default password, and 11 requiring the password to be changed after first use. The Administrative Client also provides the Administrator with the capability to specify status message to appear on the Enterprise Desktop Client main page (“My iShip”), and to obtain e-mail addresses for their corporate users.
2. User Preferences
The System provides each individual Desktop User with the capability to set preferences for how they prefer to do their shipping. Preference defaults may be set by the Administrator. The Administrator may specify some defaults as non-editable. Generally, Users may set preferences for various parameters, including, for example:
The System provides a separate area of the user interface for setting and altering user preferences.
User preferences are only accessible by the User that owns them (the “owner User”) and by the governing Administrator (the Administrator with the authorization to maintain that User's preferences). Certain preferences may be defined by the Administrator as not editable by the user.
If the User selects the Account Info link 110, the System displays an Account Information Preferences Screen in which the User can accept as defaults the Account Information Preference settings established by the Administrator and/or can, to the extent authorized by the Administrator, edit the Account Information Preference settings.
From the Account Information Preferences Screen as depicted in
The Carrier Info Preferences Screen displays the default Carrier Preference settings established by the Administrator, and to the extent authorized by the Administrator, allows the User to edit the Carrier Preferences. The Carrier Info Preferences Screen depicts each Carrier, e.g., 128 (UPS), that has been authorized for use by the Administrator. A pull down menu button, e.g. 129 for UPS 128, if clicked, displays the Services for that Carrier that are authorized by the Administrator. To the extent authorized by the Administrator, the User can check Carriers, e.g., 130, and Services, e.g., 131a, that the User wants to use. The User can indicate Carrier preferences by clicking a preference button, e.g., 132 for FedEx. The Carrier Info Preferences Screen also provides the capability, to the extent authorized by the Administrator, for the User to request that the Rate Grid (also referred to herein as the Graphic Array) highlight an optimal choice, such as the Fastest Delivery 135, or the Cheapest Delivery 136.
If the User selects the Drop Off/Pickup Link 113 from, e.g., the Carrier Info Preferences Screen, the System displays a Drop Off/Pickup Preferences Screen.
As depicted in
If the User clicks the Package Options Link 122, the System displays a Package Options Preference Screen.
If the User selects the Shipment Options Link 123, the System displays a Shipment Options Preference Screen.
As with other preference options, an Applications Options Screen, and Payment Information Screen, display the settings and information authorized by the Administrator. To the extent authorized by the Administrator, the User can edit the settings and information provided by those screens.
3. Security
In order to be able to implement management control over shipping activities, the Enterprise Desktop Client performs various security validations in order to be able to positively identify users to the system, provide access to portions of the system based on authentication, and apply shipping policies and procedures based on the user's privileges as set by the administrator.
Users are required to identify themselves to the System before gaining access. In one embodiment, identification consists of requiring the User to identify a username and password. In an alternative embodiment of the invention, the System additionally implements “sticky” identification, where user information is stored in a browser cookie. The Administrator controls whether “sticky” identification is allowed.
Positive user identification for a particular Desktop User will cause the System to apply shipping rules set for that particular User, and/or for the site and group that apply to the particular User, via the Administrative Client by the Administrator to be applied to the particular User's session with the Enterprise Desktop Client.
The Enterprise Desktop Client is configurable by the Administrator to limit the number of unsuccessful logon attempts to allow only a certain number (e.g., 3 times) of unsuccessful logon attempts before freezing an account (i.e. requiring the password to be reset).
Shipping transaction information and user credentials sent between end users and the System are encrypted.
To accomplish a secure login according to the security features of the System, Users are directed to a logon page to provide authentication when trying to initially access a protected area without identification. The logon page is brandable by the Administrator with the particular Enterprise's look and feel.
The System provides password recovery link options which are configurable by the Administrator. In the event that a User forgets the User's password, the System provides, according to the configuration allowed by the Administrator, password recovery links available from the logon page: one option provides the user a password reminder question, the other option generates an e-mail which sends the password to the user's e-mail address on file. The Administrator can allow both options, or can block one or both options.
Administrators are not able to view the password of individual users, but are able to reset a user's password (providing a new password via e-mail or over the phone) or generate an e-mail containing the user's existing password.
In one embodiment of the Enterprise Desktop Client, the System requires password aging. That is, passwords can be valid for a certain time duration. The System provides the Administrator with the ability to create and enforce password rules regarding such characteristics as the allowable age duration for each password, content, no-reuse policy, and the like.
Enterprise System support personnel are able to use the Administrator client to either: reset a user's password or generate an e-mail to the user containing their password. An Administrator can configure the password recovery methods displayed on the logon page, to show either the password reminder question, the request e-mail with password option, or a “Contact Support” message. The Administrator can also specify whether unlimited or limited unsuccessful login attempts are allowed.
4. On-Line Help.
The Enterprise Desktop Client provides both high-level and (to the extent granularity is available for each particular circumstance), context sensitive help for Enterprise Desktop Client Users. The on-line help section is customizable for individual enterprises, so that the on-line help system for the Enterprise Desktop Client application can also be used as on-line help to explain corporate shipping policies as set by the Administrator.
The System provides the Enterprise Desktop Client with an interface area devoted to on-line help for the application as a whole. For major areas of the Enterprise Desktop Client (shipping, tracking, preferences), a link to high-level summary help information for that area is provided. For individual sections on each page, context-sensitive help is provided for most sections.
In one embodiment, linking to carrier specific or carrier-hosted information is supported by the System.
Help information setup is accessible by any user that has access to the associated screens.
5. Modifiable Screens.
The System provides the capability to customize the appearance of screens in the Enterprise Desktop Client, on a global-basis. Screen appearance on a user-specific basis is controlled by user privileges.
The user interface for Screen customization provides customization for a variety of parameters, including, for example:
Modifiable screens are one of the key methods by which an enterprise implements and explains its shipping policies to end Users.
6. Shipping Destination
The Enterprise Desktop Client provides “destination address services” that enable Users to quickly and correctly specify the address for a shipment recipient, such as, for example:
For address corrections, the User interface warns the User that the address has been “fixed” or does not exist, and asks how to proceed. The User can proceed with an invalid address, subject to certain constraints (i.e. invalid street address OK, invalid ZIP code, not OK.) The user interface warns the User that delivery to POBs is limited to the USPS, if a POB is specified as the address.
The System provides the user with a shortcut capability to select addresses from the address book, using such features as “nicknames.”
Users can add/modify/delete entries in their Personal address book, but not in shared address books. Only Administrators can modify shared address books.
The Desktop Client provides each User with the ability to import and bulk load addresses into the User's personal address book.
7. Shipping Return Address and Origin.
Subject to Administrator settings, Desktop Users can set their return address in user preferences and can override the preset return address when desired. Administrators can assign Users to an Enterprise site, which can be separate (but often similar) from the User's individual return address. The Enterprise site (origin) will drive user interface aspects and options available to a User such as drop-off locations displayed, allowable carriers, the account number used, the cut-off times, etc.
The Enterprise Desktop Client user interface uses the User's return address information maintained in user preferences in a number of ways, including, for example:
End of day reports account for packages dropped-off at an off-site location.
8. Shipment Rating.
The System prompts Users to supply information necessary to price shipment of a package.
Clicking one of the Change buttons, e.g., 250, causes the System to display a detailed Price It Shipping Estimate Screen with which the System prompts the User to supply the changed information.
In one embodiment, the User enters only a recipient's e-mail address in a shipping request. The System uses the recipient's e-mail address, e.g., 293-1 as depicted in
If the Destination address information for the specified Recipient is not already in the Address Book, the User must input the Destination Address information 293 and can indicate 11 to the System to save the new address in the Address book 293-2.
The user can specify notification e-mail addresses 294 to which the System generates and sends an e-mail notifying that a package has been sent. The User can enter a message for the e-mail 295, a description of the package 296 and a reference number 298. If no message is specified, the System sends a standard message. The User can click the Browse button 297 to browse a library of item descriptions contained in the System databases.
In one embodiment, the System provides recipients with the capability to set up recipient shipping preferences which are related to the recipient's e-mail address in the System databases. Recipient Preference Screens are similar to those described herein with regard to the User's Preference Screens, and are saved by the System in the System databases so that the Recipient's Preferences are accessible by the Recipient's e-mail address. In such an embodiment, when the User enters the Recipient's e-mail address, the System populates not only the shipping delivery address, but the Recipient's shipping preferences as well.
In one such embodiment, the Address Book entry for the Recipient contains the Recipient's e-mail address. The System provides in such an embodiment, a Quick Ship option, such as from the Address Book entry for the recipient. The User clicks the Quick Ship button associated with a particular recipient's entry in the Address Book and the System populates the shipping delivery address and the Recipient's shipping preferences.
i.) Shipment Rating for Returns Processing
In one exemplary embodiment of the invention, the System of the present invention is integrated with a Returns System such as disclosed in U.S. Patent Application attorney docket number PSTM0042/MRK the disclosure of which is incorporated for all purposes herein by reference as if fully stated here. In such an integrated Returns System/Enterprise System embodiment, a Recipient can arrange for the return to an Enterprise of an item previously shipped by the Enterprise to the Recipient. To do so, as will be described in more detail below, the Recipient of the previously shipped package accesses the Enterprise's Online Internet Web site, views the Enterprise's Recipient Order History for that Recipient, and clicks on a Return button associated with the particular package to be returned.
In such an integrated Returns System/Enterprise System embodiment, as described in more detail below, the Enterprise User and/or Administrator, sets up Returns Policy rules. The System populates all of the appropriate fields regarding the package to be returned with the information stored in the System databases by the original Enterprise User. The Integrated Returns/Enterprise System allows the Recipient, as further described below, to set up Recipient Shipping Preferences. When a Recipient requests return processing, the Returns/Enterprise System asks the Recipient a series of Returns Questions, and processes the return request in accordance with the Recipient's responses to the Returns Questions and in accordance with the Returns System processing settings as established by the Enterprise's User/Administrator. If the Recipient is paying for the return shipping, the Returns/Enterprise System allows the Recipient to choose the return shipping Carrier and Service from a Graphic Array comparison display of shipping charges for those Carriers authorized for Returns Processing by the Enterprise. Return processing populates the Inbound Tracking Log for the Enterprise User and notifies the User of the return.
In the exemplary Enterprise's Online Store, as depicted in
In the exemplary Order History display depicted in
To return an order, or an item from within a particular order, the Consumer selects a particular order number, e.g., 4401-1. Selecting a particular order number, e.g., 4401-1, causes the Enterprise's Online store system to display (4361 in
a through 30c are logic flow diagrams depicting an exemplary high level logic flow for a Consumer's experience with an exemplary embodiment of the Returns System of the present invention from within a Merchant's Online store.
The exemplary embodiment of the invention depicted in
As depicted in
In a Returns Service Screen, such as the exemplary one depicted in
Continuing with
Returning to
As depicted in
Returning to
The Return Summary Screen prompts the Consumer to select one of the Enterprise's choices of Carriers 4187-1, 4188-1, 4190 and 4184. The Return Summary Screen also prompts the Consumer to indicate whether 4433 or not the 4434 the returned item is in its original packaging 4432. By pressing the onscreen “Next Step>>” button 4422, the Return System displays a Label Create Screen. Label Printing is described further below.
a.) Weighing the Package
Depending on the Administrative settings for Shipping Rules and privileges available to the User, the Desktop User, or in the alternative, a Shipping Station, will need to supply the weight (e.g., 273-274,
In the exemplary embodiment of the invention, the System supports various makes and models of scales. Each scale make and model has a set of features and requirements for which the System must be programmed in order for the System to communicate properly with each particular scale. The System provides an ActiveX control dedicated to communications with peripheral devices configured with client PCs (“Shipping Station ActiveX Control”) 607. Contained within the Shipping Station ActiveX Control is a table (the “scale table”) 608 containing entries for each supported scale make and model and provides logic to process the communication information for each scale make and model as appropriate. It should be understood by someone skilled in the art that the Shipping Station ActiveX Control facilitates communications with various devices on the client machine. The Shipping Station ActiveX Control 607 and the scale table 608 are requested 606 by the web page (the “System/scale interface”) containing the Weight field 1051 at the time that the Shipper activates 605 the Weight field (e.g., 273-274,
The Shipper places the Subject Parcel on the scale 610. The Shipper activates the Shipping Station ActiveX Control by placing the cursor of the Shipper's PC on the Weight field (e.g., 273-274,
In one embodiment of the System/scale interface aspect of the invention, the System uses ActiveX control language and the client's web browser, such as Internet Explorer browser. Using the Shipper's scale configuration information, the System calls Windows libraries 615 to open the serial or parallel port with which the scale is configured, as the case may be and as is specified in the Shipper's scale configuration information. Windows is an operating system used with most PCs.
The System uses the information for the particular scale make and model from the scale table 608 of scale makes and models to send a communication query to the particular scale 616. Typically, the communication query information required by a particular scale make and model is a particular set of characters. Each scale make and model recognizes a unique set of characters as a request for a weight. Accordingly, the appropriate set of characters that means a request for weight to a particular scale make and model is stored in the scale table for a particular scale make and model.
After a proper query, a scale will return a data stream containing the weight of the parcel 617. Depending on the scale make and model, other types of information may be contained in the return data stream. The System accesses the scale table 608 to interpret 618 the return data stream according to the scale make and model rules as stored in the scale table and as programmed in the Shipping Station ActiveX Control.
Other scale communication information is contained in the scale table for each scale make and model, including, for example: the character string that communicates a request as to whether or not the weight is stabilized; the default contents of the return data stream of the weight from a particular scale make and model; and the character string to request that the scale send the weight mode with the return data stream. Weight mode is the mode with which the scale measures weight (e.g., pounds, kilograms, etc.).
In one embodiment, as long as the Shipper's cursor remains on the Weight field (e.g., 273-274,
In one embodiment, once the Shipper removes the cursor from the Weight field (e.g., 273-274,
b.) The Graphic Rate Comparison Array
Continuing with
In an exemplary embodiment of the invention, the System uses MTX.exe as a transaction server. MTX.exe is an executable program that is part of the Microsoft suite of Internet web solution products.
In the exemplary embodiment of the System, Web pages are grouped in organization units referred to as “virtual directories.” For example, in the exemplary embodiment, all of the user interface Web pages that prompt a user to input registration data, and that provide interactive feedback to the registering user, would be grouped into a virtual directory. When a request for a particular Web page is received by a particular shipping Web server, the shipping Web server determines which virtual directory is needed. Depending on the virtual directory to be accessed, MTX.exe loads one of a plurality of COM objects, which are DLL's (Dynamic Link Libraries), for the System. One of the COM objects for the exemplary embodiment of the system is referred to as the Rating.DLL.
Each Enterprise user is enabled to process one or more Carriers from a plurality of Carriers supported by the system and authorized for use by an Administrator. In the exemplary embodiment of the invention, when a user, through the user's client PC, issues a rating request, the System passes a list of carrier identifiers for the carriers enabled for that user to the Rating.DLL operating on the shipping Web server to which the rating request is directed.
The Rating.DLL consists of various rating-related functions, one of which is referred to as “Get_Rate_Furiction”. Get_Rate_Function receives as input the carrier IDs for the carriers enabled for the particular user, package information, shipping information, including origin and destination postal codes, and other information. Get_Rate_Function parses the received input information and tests the carrier ID to determine the name of one of a plurality of Carrier-specific shipment rating routines that is to be performed in order to rate shipments for the particular carrier ID. In the exemplary embodiment of the invention, the Carrier-specific shipment rating routines are SQL Stored Procedures that are executed by the appropriate SQL Database Server. Get_Rate_Function then causes the appropriate Carrier-specific shipment rating routine to be performed to rate the User-specified shipment according to the relevant Carrier's business rules.
The exemplary Preview Rates Screen depicted in
The Services for a Carrier can be displayed by the User by clicking a scroll down button, e.g., 5129 for UPS. Each listed Service for the Carrier identifies the time for delivery, e.g, 5306. When the Preview Rates Screen is displayed, the Carrier for which the User has specified a preference (or for which the Administrator has specified a preference) is displayed in an expanded mode, such as is depicted in
In the embodiment depicted in
A price is displayed in an Array cell, e.g., 5307, 5302 for Carrier/Service supports the day of delivery 5303-5305. According to the User's Optimization Selection 5135-5136, an Optimizer icon 5301 is displayed in the Graphic Array cell entry that reflects the optimal Carrier/Service.
As is described below, each Carrier is represented in the Graphic Array/Rate Grid by a different color. In the embodiment of the Rate Grid depicted in
The presence or absence of Carriers in the Graphic Array display is driven by enterprise administrative policy (Next Day delivery may be prohibited by the Administrator for packages other than letters), and service choices the user has made (for example, by choosing a billing option that only certain carriers support).
The rates calculated and displayed in the Graphic Array are customizable. Some Enterprises may wish to see the iShip System transaction charge included in the rate quote. Some Enterprises may also wish to add their own markup to the carrier charges in order to cover the costs of the shipping department in general. Administrators use the Administrative Client to define user privileges that control what carriers and services appear in the rate display for a given shipment. They can also control the presence of the iShip transaction fee and any internal rate markup in rate grid charges.
In one embodiment of the invention, a Rating button is provided on the same screen on which the Graphic Array is displayed, with which the User can toggle the rates displayed in the Graphic Array back and forth between the Enterprise's actual shipping rates (including all discounts) and the rate that the Enterprise charges another person, e.g., the recipient, for shipping. In another embodiment, such as the one depicted in
Unless prohibited by the Administrator, Users can generally access general rate information outside a shipping transaction, as well as rating applied to a particular shipping transaction.
c.) An Alternative Embodiment of the Graphic Array
An alternative exemplary embodiment of a Graphic Array is depicted in
As depicted in
In the exemplary embodiment depicted in
Each row of the Graphic Array corresponds to a time of delivery. In
At the intersection of each row (1064-1 through 1064-6) and column (1063-1 through 1063-7) of the Graphic Array is a “cell.” In
Some cells depicted in
A color-coding legend 1062 is displayed on the Screen to identify by a name (1140b, 1141b, 1142b, and 1143b) and a color-coding symbol (1140a, 1141a, 1142a, and 1143a), each of the supported Carriers that provide the service according to the particular Shipper's Parcel Specifications for the particular Subject Parcel.
For purposes of this application, unique colors are depicted with graphic symbols. For example, a right-diagonal hash mark symbol 1140a is used herein to represent the color red; a left-diagonal hash mark symbol 1141a is used herein to represent the color purple; a vertical hash mark symbol 1142a is used to represent the color amber; and a horizontal ash mark symbol 1143a is used to represent the color blue. The particular hash mark symbols used herein and the colors mentioned herein are exemplary and are not a limitation of the invention.
Each cell of the Graphic Array that is not empty contains one or more color-coded Carrier cell entries. For example, in
Each Carrier cell entry, e.g., 1065, contains a graphic element, e.g., 1065a, which contains what is known as “ALT text”. As depicted in
As depicted in
Similarly, as depicted in
Further, as depicted in
Similarly, as depicted in
In the embodiment of the Graphic Array depicted in
Further, as depicted in
Still further, as depicted in
In the exemplary embodiment depicted in
The particular arrangement of the color legend 1062 depicted in
In the embodiment of the Graphic Array depicted in
The arrangement as depicted in
As depicted in
In the exemplary embodiment depicted in
Once the Graphic Array is displayed, the Shipper can change previously input information and the System will automatically regenerate the Graphic Array with the delivery rates and delivery times that have been updated to reflect the new information. For instance, if the Shipper selects a new shipping date, the System will regenerate the Graphic Array with the appropriate new rates and times. The logic for regenerating the Graphic Array is described in more detail below.
In the exemplary embodiment depicted in
Navigational buttons appear at the bottom of the Rates and Times Screen depicted in
If a user returns to the Rates and Times Screen (
Using the subject parcel's Parcel Specifications, the System is programmed to access databases containing information about each supported Carrier. Each supported Carrier has a unique rating schedule, delivery and pickup rules and schedules, and certification requirements (the “Carrier Rules”). The System is further programmed to apply each supported Carrier's Rules to each Shipper's Parcel Specifications for the corresponding Subject Parcel. The System calculates the Shipping Charges based on zip-to-zip pricing where the Seller has provided the origin zip code and the Buyer has provided the destination zip code.
To develop the rates for display in the Graphic Array, the System rating component is instantiated in the server-side script such as described above. The rating component's rate information method is invoked with the rate parameters embedded in the URL. Based on Carriers' business rules, the rates and their service option charges for all Carriers/Services are calculated from each respective Carrier's zone data, service/delivery time data and rate data.
The System keeps the Carrier data up-to-date in the System database 22. The application does hot use any carriers' Application Program Interface (API) functions to get the rate information. All of carrier rate data is stored in the System database 22 and all business rules to calculate the rates are implemented within the System.
a through 44b, and 45 are high level data retrieval and logic flow diagrams depicting the data and high level logic that the system uses to calculate a shipping rate. As depicted in
The System calculates the rates according to the following overview logic as depicted in
The System then determines the billing rules for all of the Carrier/Service combinations and their service options by joining the following tables on CarrierID, ServiceID, and ServiceOptionID: BillingOption; BillingOptionAndService; BillingoptionAndServiceOption 3021.
For each carrier 3022, the System performs the following procedures: 1) determine if the particular carrier supports the given billing option based on step 23026. If not, continue with the next carrier 3027; 2) Apply carrier business rules, including: a) Calculate dimensional weight 3023; b) Determine billable weight 3024: actual weight, dimensional weight, oversize weight or letter weight; c) Validate package weight and dimensions 3025; (If the rate input violate carrier business rules 3026, continue to next carrier 3027); 3) Determine the zone ID from CarrierZone table for the given origin/destination postal codes 3028; 4) Determine service delivery times 3029 (including Saturday/Sunday delivery times) by joining the following tables on destination postal code: a) CarrierDeliveryArea; b) CarrierServiceDelTime; 5) Determine all service charges from CarrierRate table by RateID, ZoneID, ServiceID and Weight 3030; 6) Determine the service option charges for each Carrier/Service 3031 by joining the following tables on CarrierID and ServiceID: ServiceOption; ServiceOptionAtttribute ServiceAndServiceOption; and 7) Apply billing option to service option charges 3032 (different service option charges could be billed to different parties for various billing options).
As depicted in
d.) Generating the Graphic Array
a through 46c are simplified flow diagrams depicting the initial Timing and Rating procedure to generate a Graphic Array in an exemplary embodiment of the invention. In the embodiment of the invention depicted in
It should be noted that the depicted separation of functions between the Web Browser at the Client on the one hand and the System Servers on the other hand represents an initial procedure to construct the Graphic Array in response to initial Shipper input of Shipper Parcel Specifications. As is explained in more detail below, after the initial construction of the Graphic Array, the System can distribute certain of the functions for supplemental regeneration of the Graphic Array to the Web Browser Client.
As depicted in
If the Shipper has supplied the minimum required specifications, then the System accesses the Shipper Database 1195 to identify any user-specified Carrier designations and to determine the Carrier accounts for the appropriate Shipper 1154. Using the Shipper Parcel Specifications, the System then accesses the Carrier Databases (1404a through 1404n) and determines all possible Carrier/Services that support shipping of the subject parcel 1155. It should be noted that in the Enterprise Shipping environment, an Administrator can restrict the identity of Carriers available to be used in the construction of the Graphic Array.
The System then examines each Carrier/Service in the set of supporting Carrier/Services 1156. The next step 1157 is a juncture for return of control from a number of points in the System logic and is performed for each Carrier/Service in the set of supporting Carrier/Services.
If the System has examined all possible supporting Carrier/Services 1158, the System assembles the Graphic Array from the delivery rate set 1159 and displays the Graphic Array to the user 1160. As was previously explained, the dimensions of the Graphic Array are dynamic. As long as there are further Carrier/Services that remain to be examined in the set of supporting Carrier Services, the System continues to perform the process described below. Using the Expected Shipping Date, the System switches the Carrier/Service's shipping timespan into possible delivery dates and times 1161.
Next 1162 as depicted in
If the particular Carrier/Service supports Saturday Delivery, the System determines the appropriate Saturday delivery rate for the particular Carrier/Service 1165.
Next, the System determines whether the shipping timespan ends on a Sunday 1168. If the shipping timespan ends on a Sunday, the System accesses the Carrier Database (1404a through 1404n) to determine whether the particular Carrier/Service supports Sunday delivery 1166. If the particular Carrier/Service does not support Sunday delivery, then the particular Carrier/Service is eliminated from the delivery rate set 1177 and the System proceeds with the next Carrier/Service in the delivery rate set 1157.
If the particular Carrier/Service supports Sunday Delivery, the System determines the appropriate Sunday delivery rate for the particular Carrier/Service 1167.
The System then determines whether there is a business day delivery within the shipping timespan 1169. If so, the System accesses the Carrier Database (1404a through 1404n) to determine whether the particular Carrier/Service supports business day delivery 1170. If the particular Carrier/Service does not support business day delivery, then the particular Carrier/Service is eliminated from the delivery rate set 1177 and the System proceeds with the next Carrier/Service in the delivery rate set 1157.
If the particular Carrier/Service supports business day delivery, the System determines the appropriate business day delivery rate for the particular Carrier/Service 1171.
The System next determines whether the Shipper has requested E-Mail delivery notification 1172. If so, the System accesses the Carrier Database (1404a through 1404n) to determine whether the particular Carrier/Service supports E-Mail delivery notification 1173. If the particular Carrier/Service does not support E-Mail delivery notification, then the particular Carrier/Service is eliminated from the delivery rate set 1177 and the System proceeds with the next Carrier/Service in the delivery rate set 1157.
If the particular Carrier/Service supports E-Mail delivery notification, the System adds the appropriate charge for the E-Mail delivery notification service to each of the particular Carrier/Service's delivery rates 1174.
The System then determines whether the Shipper has requested verbal delivery notification 1175. If so, the System accesses the Carrier Database (1404a through 1404n) to determine whether the particular Carrier/Service supports verbal delivery notification 1176. If the particular Carrier/Service does not support verbal delivery notification, then the particular Carrier/Service is eliminated from the delivery rate set 1177 and the System proceeds with the next Carrier/Service in the delivery rate set 1157.
If the particular Carrier/Service supports verbal delivery notification, the System adds the appropriate charge for the verbal delivery notification service to each of the particular Carrier/Service's delivery rates 1178.
Next 1179 as depicted in
If the particular Carrier/Service supports guaranteed delivery times, the System adds the appropriate charge for the guaranteed delivery times service to each of the particular Carrier/Service's delivery rates 1182.
The System then determines whether the Shipper has requested a “Call for Pickup” shipping location 1184. If so, the System accesses the Carrier Database (1404a through 1404n) to determine whether the particular Carrier/Service supports “Call for Pickup” services 1185. If the particular Carrier/Service does not support “Call for Pickup” services, then the particular Carrier/Service is eliminated from the delivery rate set 1177 and the System proceeds with the next Carrier/Service in the delivery rate set 1157.
If the particular Carrier/Service supports “Call for Pickup” services, the System adds the appropriate charge for the “Call for Pickup” service to each of the particular Carrier/Service's delivery rates 1186.
The System next determines whether the Shipper has requested a “Residential Delivery” 1187. If so, the System accesses the Carrier Database (1404a through 1404n) to determine whether the particular Carrier/Service supports “Residential Delivery” services 1188. If the particular Carrier/Service does not support “Residential Delivery” services, then the particular Carrier/Service is eliminated from the delivery rate set 1177 and the System proceeds with the next Carrier/Service in the delivery rate set 1157.
If the particular Carrier/Service supports “Residential Delivery” services, the System adds the appropriate charge for the “Residential Delivery” service to each of the particular Carrier/Service's delivery rates 1189.
The System then determines whether the Shipper has requested “Loss Protection” services 1190. If so, the System accesses the Carrier Database (1404a through 1404n) to determine whether the particular Carrier/Service supports “Loss Protection” services 1191. If the particular Carrier/Service does not support “Loss Protection” services, then the particular Carrier/Service is eliminated from the delivery rate set 1177 and the System proceeds with the next Carrier/Service in the delivery rate set 1157.
If the particular Carrier/Service supports “Loss Protection” services, the System calculates the appropriate charge for the “Loss Protection” service and adds the appropriate charge to each of the particular Carrier/Service's delivery rates 1193 before proceeding with the next Carrier/Service in the delivery rate set 1157.
In the exemplary embodiments of the invention described here, the System automatically and dynamically regenerates the display of the Graphic Array and certain portions of other screens when the Shipper makes online changes to Shipper input. To do this, the System generates executable code which it distributes with certain displayable frames to the Web Browser Client. This distribution of code for purposes of regenerating the Graphic Array differs from the initial generation of the Graphic Array as was described above. For example, in the embodiment of the invention depicted in
Distribution to the Web Browser Client by the System of executable code that regenerates the Graphic Array provides the capability to dynamically reflect in the Graphic Array any changes that the Shipper may enter to the various Shipper Parcel Specifications; the Graphic Array immediately displays the new information without requiring the Shipper to request a recalculation, such as by clicking on a “Regenerate” button or the like.
To facilitate regeneration of the Graphic Array, the System generates executable code which it distributes with the frame, such as the frame that is displayed to the user for collecting the Parcel Specifications, to the Web Browser Client. A displayable frame is a set of information for display on the client display device. For example, in
As the System generates the display of each frame, the System generates executable code which it distributes with, e.g., the Rate & Times frame, to the Web Browser Client. Thereafter, the Web Browser Client uses the executable code to automatically regenerate the display of the Graphic Array each time the Shipper makes changes to the Shipper Parcel Specifications. In one embodiment of the dynamic regeneration aspect of the invention, the executable code distributed to the Web Browser Client uses JavaScript.
In some cases, the executable code sent to the Web Browser Client provides the information and the capability to regenerate the Graphic Array without any further communication with the Server. In other cases, the Web Client Browser must return control to the Server so that the Server can access data maintained by or accessible by the Server; the Server then regenerates the Graphic Array or otherwise provides the Web Browser Client with the information necessary to regenerate the Graphic Array.
In an exemplary embodiment of the automatic dynamic regeneration aspect of the invention, the executable code distributed to the Web Browser Client contains the logic to apply Carrier Rules to Shipper Parcel Specification changes. For instance, Shipper changes to certain Service Options, would be automatically processed by the Web Client Browser and the Web Client Browser would regenerate the Single Day Rate Graphic Array depicted therein to reflect the Shipper changes. In one such automatic dynamic regeneration embodiment, only those functions that do not require further access to the relevant Carrier's database are distributed to the Web Browser Client.
It should be noted that, according to the automatic dynamic regeneration aspect of the invention, if after the Shipper views the Graphic Array the Shipper enters changes to any of the factors with which the System calculates the rates and develops the Graphic Array, the System uses a similar logic flow to regenerate the Graphic Array as was explained above in relation to
The dynamic regeneration capability is used to automatically regenerate response screens in many places throughout the System. For instance, if the Shipper changes Origin Zip Code 149 (
e.) Creating a Link
In one embodiment, the System generates an HTML hyperlink by executing a JAVA script routine (in alternative embodiments, other scripts are used). The JAVA routine extracts the User-supplied package-specific information from the Create a Link HTML page (i.e., Weight, Irregular or Non-Standard Packaging, Loss Protection, Destination Zip code, Link Type and Link Text) and integrates the information with a URL (Universal Resource Locator) that points to the address at which a System web page exists, or a series of System web pages exist, that will display shipping cost comparisons for later use. In one embodiment, the URL information is hard coded in the web page. The hyperlink built by the System contains data as well as an address. In an alternative embodiment, the URL is dynamically generated.
In order to create the Link, the System places the appropriate HTML tags and text in a sequence that can be rendered by a web browser. An example of a hypertext link, like the one generated in
After the System generates the HTML hyperlink, the User can e-mail the HTML hyperlink text 320 (
When the person to whom the email is addressed (the “Recipient”) receives the email with the HTML hyperlink text 320, the Recipient can click on the Link in the email and the Recipient's Web Browser will use the URL contained in the Link to locate the appropriate System Web page. The System will be presented with and receive as input the information in the hypertext link, including the variables and their respective contents as described above 2210-2213 in connection with
With the input from the hypertext link 2210, the System accesses the System database 22 as depicted and retrieves the following types of information: 1) Package origin address; 2) Carriers and services that the Enterprise has authorized for use; 3) Custom and public carrier rates the Enterprise will use; 4) Additional handling charges that the Enterprise wants to impose; and 5) Payment methods the Enterprise will allow the Recipient to use.
Using the information as provided by the hyperlink User/Seller's Link and the information obtained as a result of the above-described database access, the System, at the address provided by the URL, is programmed to display the shipping estimate previewed by the User/Seller.
The System stores the PID 2220 in a PID table in the System database 22 and stores the Enterprise's account and package specific information, e.g., 2210-2213 with the PID.
In another embodiment, the details associated with the Enterprise's account, such as the Enterprise's various shipping preferences, are stored in detail with the PID 2220. Storing detailed information with a PID 2220 provides for additional flexibility in that new Enterprise information can be associated with the new PID while not influencing a previously generated PID and its associated set of information.
Once generated, the hyperlink 320 can be copied and pasted by the Desktop User into another system, such as into a catalog of item descriptions. For example, as depicted in
In one embodiment of the invention, the User can name a saved package.
9. Payment Methods.
The System provides the User with choices of payment methods for paying for the shipping transaction. Payment methods include, for example:
Communications between the User's browser and the System are encrypted to protect carrier account numbers and credit card numbers.
10. Service Availability.
The System provides each Enterprise with access to the full spectrum of carriers and services supported by the System.
Certain service types drive additional user interface requirements, such as freight requiring different dialogs to complete the shipping transaction.
The Administrative Client provides a clean way for customers to expose new carriers and services as they become available. New carriers and services default to “off” (not displayed) until turned on by the Administrator.
11. Label printing.
Label printing type is configurable as a shipping rule by the Administrator. The Administrator can delegate shipping label printing authority by type of package and by other criteria. For example, the administrator can enable User printing of:
The administrator can define the traveler label format to be used. The traveler label includes a bar code that, when scanned, enables quick retrieval of the shipment record from the System by mailroom personnel using the Ship Station client.
Both shipping labels and traveler labels include user instructions on what to do with the package once the label has been printed.
Shipping Stations must be equipped and configured with a bar code scanner to read traveler label bar codes in order to enable the quickest retrieval of shipment data from the System.
a.) Generating a System Tracking Number
If the User creates a Shipping Label such as is depicted in
A System tracking number is a unique number generated internally by the System to identify a particular package shipped using the System. The Shipper inputs the Shipper's Parcel Specifications for the Subject Parcel. Using each Shipper's Parcel Specifications, the System is programmed to access databases containing information about each supported Carrier. Each supported Carrier has a unique rating schedule, delivery and pickup rules and schedules, and certification requirements (the “Carrier Rules”). The System is further programmed to apply each supported Carrier's Rules to each Shipper's Parcel Specifications for the corresponding Subject Parcel.
As a result of the Consumer creating a shipping label, the System assigns the package a System package tracking number and adds a record containing all of the pertinent information about the package to the System database 22. Following are exemplary Shipping tracking numbers: MAGGY841VRY50; MAGGY84B496RF; MAGGY84XOFJ45.
In one embodiment, the System Tracking Number is based on a Base-33 number system. The characters available are: Zero (0) through nine (9) and A through Z excluding “I” (i), “L” (l), and “O” (o). Each letter represents a value, as depicted in the table below:
To calculate the Check Digit, the System performs the following steps: 1) Consecutively multiply the numeric value of each of positions 2-7; 2) Consecutively multiply the numeric value of each of positions 8-12; 3) Add both results; 4) Divide by 31; 5) Convert the remainder value to a Base-33 number. The converted value is the Check Digit.
b.) Printing a Shipping Label
As mentioned above, in some embodiments, the Shipper can use the System to locally print on the Shipper's printer device a bar-coded shipping label according the Selected Carrier's certification standards. In some embodiments, the bar-coded shipping label, including two dimensional bar code labels, and other types of shipping labels, can be printed on either a thermal label printer or on a laser printer. The Shipper specifies the type of printer to the system during initial setup procedures. Thereafter, the System uses, as appropriate, the thermal printer or laser printer module to prepare the label image for printing on the Shipper's printer.
The Server then creates, and causes the display on the client browser's display device of, a text string with a specified font face and in a specified font size in an HTML table data cell with a specified width 1255. If the client browser is using a ninety-six (96) display device DPI, the display device will display said text string in the HTML table data cell in a single line. If on the other hand, the client browser is using a one hundred twenty (120) display device DPI, the display device will display said text string in the HTML table data cell in two lines.
In creating the display of the text string, the Server also sends a message to the Shipper asking the Shipper to answer the following question: do you see the text string displayed on your screen as a single line or as wrapped text in multiple lines? The Server receives the Shipper's response and determines from the response whether the Shipper's display device has displayed the text as a single line or as wrapped text in multiple lines 1256. If the text is displayed as a single line, then the client browser 1257 display device DPI is 120. Otherwise, the client browser 258 display device DPI is 96.
Next, the Server calculates the shipping label HTML image size in pixels 1259 by multiplying the Carrier-specified label size from the Carrier Label Specification times the client browser display device DPI as determined by the previous step.
Next, the System displays the generated label image in the client browser 1260 with an HTML image tag and an HTML image size in pixels as calculated in the prior step. The client browser calculates the size of the label to be printed in inches by dividing the label HTML image size in pixels as calculated in a prior step by the client browser display device DPI 1261; the client browser then prints out the label with the size calculated 1261.
As depicted in
Alternatively, the Image has previously been created; the System determines from the Image, the Image Size 1350, the Image Layout 1351, any relevant Image Data 1352, and the Image Resolution in DPI or in any other measure of Image Resolution 1353 (collectively referred to hereinafter as the “Image Characteristics”).
The System determines the possible Image Resolution Categories and associated values of client PC's 1354. Image Resolution Categories and associated values include information such as the number of text strings, and the length of and characteristics (font face, font size, and HTML table cell width) of each of the identified number of, text strings that must be used to determine the Image Resolution of client display devices 1356.
An HTML table cell width is fixed in that the physical width of the display of the HTML table cell does not change depending upon the resolution of the client device; a text string comprised of characters having a particular font and font size has a scalable width, depending upon the resolution of the client device resolution. Use of an HTML table cell to measure the resolution of client devices is not a limitation of the invention. In an alternative embodiment, a graphic element other than an HTML table cell, having a fixed width, is used to measure the resolution of client devices.
The possible Image Resolution Categories and values are stored in the memory of the System or in a database table and updated on some basis. In an alternative embodiment, the possible Image Resolution Categories and values are input into the System.
The System then analyzes the Image Characteristics, and the possible Image Resolution categories and/or values 1355, and creates the appropriate number of text strings and associated HTML table cells 1356. Each text string is created to have a specified font face, a specified font size, and an associated HTML table cell with a specified width. The computer then causes the display of the text strings in the associated HTML table cells on the remote client PC's display device 1358.
In creating the display of the text string, the System also sends a message to the recipient PC asking the user to answer the following question: is the first text string displayed on your screen as a single line or as wrapped text in multiple lines? The System receives the remote user's response and determines from the response whether the remote user's PC's display device has displayed each of the text strings as a single line or as wrapped text in multiple lines (e.g., 1256-1258,
The client browser of the remote PC calculates the size of the Image to be printed (“Remote Print Image Size”) in inches by dividing the Remote HTML Image Size in pixels by the Remote Image Resolution 1362; the client browser then prints out the Image with the Remote Print Image Size 1362.
In one embodiment of the invention, instead of printing a shipping label at the Shipper's printer, a Package Number is displayed online on a Package Number Screen with notification that the label will be printed at a shipping location previously designated by the Shipper.
c.) Printing a Traveler Label
In one exemplary embodiment of the invention, the Desktop User is either not authorized by the Administrator to print Shipping Labels, or is limited by the Administrator to printing Shipping Labels for only certain types of packages, e.g., Letters. In such an embodiment, the Administrator enables a Shipping Station for the Desktop User. In some cases, a particular Desktop User may decide to not finalize shipping and delegate the actual shipping to some other user within the Enterprise. For example, if the Desktop User is not certain of the weight of a package, the Desktop User, even if that user has shipping lable printing privileges, may decide to print a traveler label, attach the traveler label to the package, and forward the package to a Shipping Station User to complete shipping.
12. Special Shipment Processing.
The System Enterprise Desktop Client provides Users with various “special shipment processing” options including, for example:
The special shipment processing options described above drive several user interface features, such as the ability to enter the number of packages in a shipment, enter the effective shipping date for shipment, etc.
In one embodiment, as an alternative to batch label printing capabilities, the System provides methods of easing multiple label printing, such as a “next label” button on the label printing window.
In one embodiment of the invention, use of the Cancel shipment function causes the System to generate a User notification as to whether or not the enterprise will be billed. The System provides the Administrator with the capability to define what shipment types will have full label printing capabilities vs. traveler label capabilities. The Shipping Station will complete processing of special shipment types, such as multi-piece shipments, pre-processed by the Enterprise Desktop Client.
13. Shipping Rules.
The System Enterprise Desktop Client unobtrusively applies shipping rules to user shipping activities. A list of exemplary shipping rules follows:
Shipping rules do not drive any visible User Interface changes to the User. However, shipping rules effect how the User Interface is generated behind the scenes, so that shipping rules are transparently applied to the User during the shipping transaction. Screens and behaviors may vary as between Users based on the privileges of each user.
Shipping rules are applied to each User based on their authenticated identity and based on the privileges assigned to the group to which they belong or to the individual User.
14. Notifications.
The System Enterprise Desktop Client initiates notifications to the parties participating in each shipping transaction, including, for example:
The System generates e-mails with summary information about the event, and with links to the System for detailed event information. Web links embedded in e-mail notifications take users to publicly accessible areas of the System.
The System provides Administrators with the capability to broadcast e-mail notifications to their userbase and to provide status messages to their users via the Enterprise Desktop Client main page. The Administrative client allows the administrator to define simple e-mail templates for the notification messages. The Administrative Client also allows the administrator to define the “from” return e-mail address for e-mails generated by the System.
15. End of Day Processing
The System will allow end Users with the proper privileges to perform the end-of-day functions for their site via the System Enterprise Desktop Client. The End of Day capability, if available for a User given their privileges, appear as a separate functional area of the Enterprise Desktop Client. Links to this area appear on both the Enterprise Desktop Client main page and in the shipping log if the User has sufficient privileges and still needs to perform end of day processing. Not all carriers require an explicit EOD.
Depending on the Enterprise, End-Of-Day Processing via the Desktop will likely be run for small offices and branch offices that do not have a mailroom or shipping dock, staffed by personnel who can regularly perform EOD. Depending on the Enterprise, Shipping Station personnel will typically perform EOD processing in larger enterprises.
The System provides the Administrator to allow End-Of-Day Processing to be accessible by a User if the User's group has privileges to perform that function. The Administrator can configure the users (actually which group) can perform the End-Of-Day Processing function.
16. Shipping Log.
The System provides a shipping log. The shipping log is the central point of information for a User's past, current and future shipping history. It is also the central location for Users to obtain tracking information for both inbound and outbound shipments. It provides facilities to view and manage the User's historical and ongoing shipping activities, as well as to obtain shipment tracking information. The shipping log provides various types of information, including, for example:
The shipping log displayable to individual Users is for their personal shipping history. Individual Users without the proper privileges do not have access to aggregate-level shipping history. Higher-level shipping history can be limited by the administrator to be accessible via the Administrator Client.
A Shipping Station can display status for shipments that have a traveler label printed but no carrier label and which are related to that Shipping Station.
17. Inbound Package Tracking.
The System provides the capability to track inbound packages sent by other System users. In an Internet embodiment of the invention, this is the case whether the Shipping System User is a non-Enterprise Recipient or is an Enterprise User in the same or different Enterprise as the Receiving System User. Shipping requests submitted to the System provide, among other things, the Recipient's e-mail address. The System recognizes the Recipient as a System User by checking the e-mail address of every Recipient. If the Recipient is a System User, the System adds the Shipping Request to the Recipient's Inbound Tracking Log and notifies the Recipient the next time the Recipient logs on to the System.
The System provides Users with the capability to view the status of inbound packages separately from outbound packages. Inbound packages sent by other System Users should appear in the shipping log automatically.
18. Other Tracking Capabilities
The shipping log user interface enables tracking reporting, including, for example:
The System provides complete tracking and reporting capabilities for packages shipped through it, and for packages for which a Carrier tracking number is known as described below.
In one embodiment, the Track It application navigation bar provides Track a Package, Track All Packages, Track Pending Packages, Track Shipped Packages, Track Inbound Packages and Perform End of Day options. If the User has the authority to ship packages on behalf of another user, the Track It Navigation Bar also provides a View History option with which the User can specify the Shipped For User's ID in which case the Track All Packages, Track Pending Packages, Track Shipped Packages, and Track Inbound Packages options will display packages shipped for the specified User.
Each history entry report Status 425, Ship To Name 424, number of packages 426, System Tracking Number 423, Carrier/Service 422, Ship Date 421, and Delivery Date 420. The User can click on any of Status 425, Ship To Name 424, System Tracking Number 423, Carrier/Service 422, Ship Date 421, or Delivery Date 420 to sort the contents of the screen display according to the option clicked.
Each Shipping History entry, e.g., 416, provides an associated tracking checkbox, e.g., 415. To get detailed tracking information for one or more items reported, the User clicks the tracking checkbox for each of the items to be tracked and then clicks the Track It button 418. The User can view the Previous items 411, the currently displayed items 412, or the next items 413 in the Shipping History List.
Users may perform “batch tracking,” i.e. select more than one shipment and track on those shipments. This will improve system performance when the user has up to 100 “trackable” shipments in their log. Users will also be able to track “all.”
Referring to
The Package Table 28 resides in the System database 22 and contains package records for System processed packages. An exemplary embodiment of the Package Table contains the following information: 1) Package Tracking State ID; 2) Package Shipping State ID; 3) Actual Delivery Time; 4) Delivered To information; 5) Shipping Date; 6) Carrier Tracking Number; 7) System Tracking Number; 8) Carrier ID; 9) Actual Package. Weight; 10) Service Description; and 11) Package OID. The content of these fields are described further below.
The Package Tracking State ID specifies the tracking state of the package. In an exemplary embodiment of the invention, there are four different tracking states: 1) Null (New Packages or Shipped Packages); 2) Manifested (at the end of each day, package information is moved to the Package History Table for tracking purposes); 3) In Transit (The Carrier has picked up packages); 4) Delivered (Packages have been delivered to the shipping destination).
The Package Shipping State ID specifies the shipping state of a package. In an exemplary embodiment of the invention, there are two different shipping states: 1) Shipped (New Packages or Shipped Packages); 2) Manifested (at the end of each day, package information is moved to the Package History Table for tracking purposes).
The Actual Delivery Time specifies the Date/Time that the package was actually delivered. The Delivered To information identifies the person or place to which the package was delivered (e.g., left with receptionist, receptionist front desk, or guard). The Ship Date specifies the date on which the Carrier picked up the package. The Carrier Tracking Number identifies the Carrier-specific package tracking number. The System Tracking Number specifies the unique Package, tracking number internally generated by the System (each System tracking number corresponds to exactly one Carrier-specific tracking number). The Carrier ID specifies an identification code for the particular Carrier. The Actual Package Weight specifies the actual weight of the package as opposed to the billed weight. The Service, Description describes the type of services used to ship the package e.g., Overnight, 3 Day Ground, Second Day Air, etc. The Package OID contains a Globally Unique Identifier (“GUID”) for each package.
When the System creates a new package record, the record remains in the Package Table 28 during an initial period of time, for example, the first day during which the record is created, so that the Shipper/User can modify information about the package or void the package record as appropriate. In an exemplary embodiment of invention, the System performs certain processing on a periodic basis, such as at the end of each business day. This type of processing is referred to herein as “End Of Day” processing. In an exemplary embodiment of the invention, during “End of Day” processing, the System removes all new package records from the Package Table 28 and moves the records to a Package History Table 29 which also resides on the System Database 22. In an exemplary embodiment, Package History Table 29 records contain the same data fields as described above regarding Package Table 28 records.
Through the validation process, the System determines whether the tracking number 19 is a System tracking number or a Carrier tracking number. Below are examples of Carrier tracking numbers.
If a user enters a Carrier tracking number as the tracking number 19, then depending upon the status of the package, or the number of times that the package was tracked, there may be no information in the System database 22 for the Carrier tracking number. In such a case, the System then uses algorithms provided by each Carrier to determine the Carrier identification.
If the System determines that there is information about the package on the System database 22, then the System analyzes the Package Shipping State. If the Package Shipping State of the retrieved record is “Manifested” or “In Transit” and the Package Tracking State is not “Delivered”, then the System prepares to track the package using the appropriate Carrier system. If the Package Shipping State of the retrieved record is “Delivered”, or other final status, then the System reports the status of the package to the user.
If the tracking number 19 is a valid System tracking number, then the System extracts the Carrier's tracking number and Carrier's ID from the package record retrieved from the System database 22 before issuing a request 2054. Otherwise, if the tracking number 19 is a Carrier tracking number, then the System extracts the Carrier's ID from the package record before issuing a request 2052 to the Carrier's Internet system. The System uses the Carrier's ID to retrieve from the System database 22 the Internet URL for the Carrier's Internet web site. The URL information is configurable.
Returning for a moment to
Then, as depicted in
If the Carrier's web server successfully responds 2055 to the System's 1 tracking request, the System disconnects from the Carrier's web server and parses the response data. Some Carriers' response data contains unnecessary text information. The System strips out all of the unnecessary text in order to parse the relevant information.
If the System database 22 does not have any previous record of the package, such as would be the case if the package had not been shipped using the System shipping application, then the System does not store any data about the package in the Package Table or the Package History Table.
Otherwise, the System then updates the System database 22 and reports the information to the Shipper/User 2056. If the package is reported as delivered, the System populates the Package History Table 29 in the System database. As was previously mentioned, in an exemplary embodiment, Package History Table 29 records contain the same data fields as described above regarding Package Table 28 records.
If the Carrier's Internet web server returns an unsuccessful report, the System reports the failure to the User. If the Carrier's system successfully returns tracking information, then the System displays the package's current status.
In an alternative embodiment, if the tracking number 19 is a Carrier tracking number, the Server will validate that the Carrier tracking number is a valid tracking number. If the Carrier tracking number is not a valid number, the Server will return an invalid tracking number error. If the Carrier tracking number is a valid number, the Server will not attempt to match the number to a manifested package; the Server will track the package using the particular Carrier's Internet tracking routine; and will return the tracking response to the Web Client of the requesting Shipper/User.
In an alternative embodiment, if the tracking number 19 is a System tracking number, then the System validates the System tracking number to ensure that it is a valid System tracking number. If the System tracking number is not a valid tracking number, the Server will return an invalid tracking number error. If the System tracking number is a valid tracking number the Server queries the System database 22 to find the Carrier tracking number which corresponds to the System tracking number. If no package record is found for the System tracking number, then the Server will return an error to the Web Client of the requesting Shipper. The error message will indicate that no package record was found; it will request the user to verify that the tracking number was from a package which had been dropped off notify the user that a package be tracked on the same day it shipped. If the package record is found and the actual ship date is the same as the current date, the Server will return an error to the Web Client of the requesting Shipper indicating that the user/Shipper cannot track the package on the same day it is shipped.
In this alternative embodiment, once the Server has identified the Carrier tracking number, the Server will track the package using the Carrier's Internet tracking routine. If the tracking response from the Carrier's Internet tracking routing indicates an error, the Server will make another attempt to track the package through the Carrier's Internet tracking routine. If the second tracking request results in an error, the Server will notify the Web Client of the requesting Shipper that the Carrier is unable to track the package, and will log a tracking request error containing the Error Log number, the System tracking number, the Carrier tracking number, the time and date the tracking request occurred, the error response reported by the Carrier, and the Account Name of the user/Shipper making the tracking request, if that information is available.
If, on the other hand, the Carrier returns a valid tracking response, the Server will update the package status in the Server Database with the tracking response and will return the detailed package information to the Web Client of the requesting user/Shipper from the System Database as described below.
If the user supplied a Carrier tracking number, the Web Client will display the basic tracking information provided by the particular Carrier's Internet tracking function. In one embodiment of the invention, when the user provides a Carrier tracking number to track a package, the user/Shipper's Web Client requires the user/Shipper to identify the Carrier.
If the user/Shipper provides a System tracking number, then if the user/Shipper is logged on to the account, or otherwise enters valid logon information, that information must correspond to he Account which shipped the package. In that case, the user/Shipper's Web Client will display the following information: System tracking number; recipient address; drop off location; Carrier and service; Carrier tracking number if available; actual ship date if available; delivery address if available; delivery location if available; delivery date if available; delivery time if available; signed for by information if available; package rate; package weight; package dimensions; packaging; customer reference information; all scan activity.
If on the other hand, the user/Shipper is not logged on to the account, fails to enter valid logon information, or is logged on to an Account which does not correspond to the Account which shipped the package, the user/Shipper's Web Client will display the following information: System tracking number; recipient contact name; recipient company name; Carrier and service; Carrier tracking number if available; actual ship date if available; delivery address if available; delivery location if available; delivery date if available; delivery time if available; signed for by information if available; package weight; customer reference information; all scan activity.
19. PriceIt for Enterprise.
The System provides enterprises with the ability to rate shipments outside of the context of a shipping transaction. This rating tool is used to estimate shipping charges to external customers, or to rate shipments that are not yet in the System for actual shipping. The PriceIt tool displays the customer's custom rates.
The user interface is the same as the rate interface provided in the Shipping tool. PriceIt rules are applied to the carriers and services that appear. The System provides the Administrator with the capability to define rules for the PriceIt tool separately from the shipping tool. For example, users who are getting shipping charge estimates for customers may not actually have access to the service they are quoting rates on. Accordingly, the System calculates, for each carrier authorized by an administrator of an enterprise for use by a particular user within the enterprise, enterprise shipping rates and custom customer shipping rates in response to a rating request by the particular user for shipping a particular package. The System also provides the Administrator with the ability to hide the PriceIt tool altogether.
20. Customer System Integration.
In one embodiment, the System is integrated with such enterprise systems as:
21. International Shipping.
In one embodiment, the System handles international destination shipping, including:
22. Request Carrier Pick-Up
In one embodiment, the System provides the capability to electronically request a pickup from Carriers. This option is a configurable option that the Administrator can enable/disable on an enterprise site-specific basis.
Although this invention has been described in certain specific embodiments, many additional modifications and variations would be apparent to those skilled in the art. It is, therefore, to be understood that this invention may be practiced otherwise than as specifically described. Thus, the embodiments of the invention described herein should be considered in all respects as illustrative and not restrictive, the scope of the invention to be determined by the appended claims and their equivalents rather than the foregoing description.
This is a divisional application of U.S. patent application Ser. No. 09/820,377 (Attorney Docket No. PSTM0041/MRK), which was filed Mar. 27, 2001, the disclosure of which is incorporated for all purposes herein by reference as if fully stated here, and which claimed priority to, and priority is claimed to, U.S. Provisional Patent Application Ser. No. 60/192,723, filed on Mar. 27, 2000, and U.S. Provisional Patent Application Ser. No. 60/193,899, filed on Mar. 31, 2000, the disclosures of which are incorporated for all purposes herein by reference as if fully stated here. Reference is further made to U.S. patent application Ser. No. 09/684,010 (Online, Multi-Carrier, Multi-Service Parcel Shipping Management Functional Alignment of Computer Devices), Ser. No. 09/684,871 (Apparatus, Systems and Methods for Online, Multi-Carrier, Multi-Service Parcel Shipping Management Featuring Shipping Location Comparison Across Multiple Carriers), Ser. No. 09/684,870 (Apparatus, Systems and Methods for Online, Multi-Carrier, Multi-Service Parcel Shipping Management Featuring Parcel Handling Rules Comparison Across Multi-le Carriers), Ser. No. 09/684,808 (Apparatus, Systems and Methods for Interfacing with Digital Scales Configured with Remote Client Computer Devices), Ser. No. 09/684,869 (Reporting Shipping Rates and Delivery Schedules for Multiple Service and Multiple Carriers), Ser. No. 09/685,078 (Apparatus, Systems and Methods for Online, Multi-Carrier, Multi-Service Parcel Shipping Management Featuring Notification Service Option Comparison for Multiple Carriers), Ser. No. 09/680,649 (Apparatus, Systems and Methods for Online, Multi-Carrier, Multi-Service Parcel Shipping Management Featuring Delivery Service Option Comparison for Multiple Carriers), Ser. No. 09/680,654 (Apparatus, Systems and Methods for Online, Multi-Carrier, Multi-Service Parcel Shipping Management featuring Shipping Rate and Delivery Schedule Comparison for Multiple Carriers), Ser. No. 09/684,865 (Apparatus, Systems and Methods for Applying Billing Options for Multiple Carriers for Online, Multi-Carrier, Multi-Service Parcel Shipping Management), Ser. No. 09/685,077 (Apparatus, Systems and Methods for Online, Multi-Carrier, Multi-Service Parcel Shipping Management Determination of Ratable Weight for Multiple Carriers), Ser. No. 09/684,014 (Apparatus, Systems and Methods for Zone Level Rating for each of Multiple Carriers), Ser. No. 09/684,861 (Apparatus, Systems and Methods for Determining Delivery Time Schedules for each of Multiple Carriers), Ser. No. 09/684,152 (Apparatus, Systems and Methods for Printing Dimensionally Accurate Symbologies on Laser Printers Configured with Remote Client Computer Devices), Ser. No. 09/684,866 (Apparatus, Systems and Methods for Online, Multi-Carrier, Multi-Service Parcel Shipping Management), all of which were filed Oct. 6, 2000 the disclosures of all of which are incorporated for all purposes herein by reference as if fully stated here, U.S. patent application Ser. No. 09/651,390 (Virtualized Printing of Indicia, Logos and Graphics) filed Aug. 29, 2000, U.S. patent application Ser. No. 09/651,389 (Method and Apparatus for Printing Indicia Logos and Graphics Onto Print Media) filed Aug. 29, 2000, and U.S. patent application Ser. No. 09/820,292 (attorney docket number PSTM0042/MRK Apparatus, Systems and Methods for Online, Multi-Parcel, Multi-Carrier, Multi-Service Parcel Returns Shipping Management) filed on Mar. 27, 2001, the disclosure of which is incorporated for all purposes herein by reference as if fully stated here.
Number | Date | Country | |
---|---|---|---|
60192723 | Mar 2000 | US | |
60193899 | Mar 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09820377 | Mar 2001 | US |
Child | 11510801 | Aug 2006 | US |