We are leading provider of complete,integrated shipping software solution and help your business run more smoothly, more effectively,cost efficient online shipping management.
Shipgenie 1 Shipping Software | Online Shipping Management | Web Based Shipping
1. TM
ShipGenie
Software Requirements Specification
(SRS)
October 2006
ShipGenie version 3.x
Revision 1.14.81
Neptium, Inc.
3071 Lawrence Expressway / Santa Clara, CA 95051-0713
Phone: (408) 522-8601 / Fax: (866) 616-8822
Website: www.neptium.com / E-mail: support@neptium.com
Mailing Address: P.O. Box 903 / Fremont CA 94537-0903
2. Who is Shipgenie?
ShipGenie, Inc. is a leading provider of online shipping software solutions. Its flagship product ShipGenie provides
solutions to Big enterprises to mid & small level corporations. It helps companies needing solutions on manufacturing,
supply chain etc.
Aligned with leading ERP solutions, ShipGenie products and services enables the conjunction between people and
companies to help meet their business needs. ShipGenie is scalable enough to support from the minimum to
thousands of packages a day . With every download / purchase we ensure you are delivered a robust shipping
software .
The ShipGenie solution goes beyond the traditional multi-carrier online shipping management by being a true
enterprise application using Java technology for platform independence and a browser based user interface providing
global access to a single ShipGenie server located in your data center. It provides flexible integration ability, real time
connection to carrier APIs, and portals for shipment recipients to have visibility to order status.
Shipping Software system provides time and cost saving solutions that help shipping companies stay ahead of the
competition. With adaptable off-the-shelf solutions at hand, anyone can gain competitive advantage in spite of the stiff
competition.With the help of a reliable and highly efficient online shipping management, companies can now
seamlessly merge the business processes for a more effective shipping.
3. Features of Shipping Service:
Rate Shopping:
Rate Shopping allows shipping software solutions logistics personnel to easily shop for the best rates, and reduce
freight charges by automatically consolidating shipments bound for a common destination
Queries for current rate information
Integrates with custom and Interactive carriers.
Rate shopping solutions and shipping service deliver significant cost benefits for small business
Multiple ERP integration:
Provides seamless integration with ERP systems
Extracts records from ERP system
Automatic update of tracking information in ERP
Generates customized reports and It is fully integrated multi-carrier shipping software solutions
Integrates with Interactive & custom carriers
Real time access to carriers such as FedEx, UPS, USPS, DHL
Certified partner of FedEx & UPS
Provides rates, transit time, delivery date, tracking number, shipping labels
Configure custom carriers with rate & zone chart
Carrier specific barcodes and reports
Cost Effective:
Since its SaaS (Software as a Service) based, It eliminates hardware, software & licenses cost.
Cuts costs by providing a centralized application, eliminating multiple applications at remote locations
Consolidates shipments - Tracks and consolidates multiple shipments to a common destination
Simplifies support and maintenance - Provides a central point for system management updates eliminating the need
for remote support and maintenance
Real Time Access:
Real Time access to commercial carriers & status of shipment.
Tracks shipments not delivered on time
Real-time access to shipment status information, tracking data and related multi carrier shipping solution
Batch Processing:
Save time by generating labels and packing slips in batch
Future date shipments
Generates labels for printing on thermal printer
Portable Design:
Generates labels for printing on thermal printer
Scale Interface: Scales to support unlimited number of users & transactions. Provides scalable design to
accommodate growth in distribution centers, contract manufacturers ,shipping software solutions and shipping
service centers
Secure: Secures limited access to ERP through secure layer for communicating host servers over Internet
Provides access from web portals that allow customers to use a simple Internet browser at any time and from any
location to obtain up-to-date tracking and delivery information regarding their orders.
5. 2.2.7 Export Compliance .................................................................................................... 16
2.2.8 Customer Portal ........................................................................................................ 17
2.2.9 Logistics Management ............................................................................................... 17
2.2.10 Portable Design ........................................................................................................ 17
2.2.11 Easy Customization ................................................................................................... 17
2.2.12 Other…continue to add items and refine list ................................................................. 17
2.3 THE OPERATING IT ENVIRONMENT ........................................................................................... 17
2.3.1 Shipping Stations...................................................................................................... 17
2.3.2 Printing / Scanning ................................................................................................... 18
2.3.3 Server(s) ................................................................................................................. 18
2.3.4 Databases ................................................................................................................ 18
2.3.5 Interface with Carriers ............................................................................................... 18
2.3.6 Intefrace with Host ERP ............................................................................................. 18
2.3.7 Customer Portal ........................................................................................................ 18
CHAPTER 3: USAGE SCENARIOS .......................................................19
3.0 USER AUTHENTICATION........................................................................................................ 19
3.1 CONVERT ORDERS TO NEW SHIPMENTS ..................................................................................... 19
3.1.1 Query and Pull Order from external system to Accept Order ........................................... 19
3.1.2 Order pushed from external system to ShipGenie ......................................................... 19
3.1.3 Convert Order to Shipment ........................................................................................ 19
3.1.4 Enter new shipment manually .................................................................................... 19
3.2 MANIPULATE PRE-SHIPMENT .................................................................................................. 20
3.2.1 General ................................................................................................................... 20
3.2.2 Optimize Shipment (i.e. Rate Shopping, Routing, etc.) .................................................. 20
3.2.3 Select Address from Address book .............................................................................. 20
3.2.4 Select Products from Product List ................................................................................ 20
3.2.5 Split or Merge Shipments ........................................................................................... 20
3.2.6 Modify Shipment, Package, or Item details ................................................................... 21
3.2.7 Other Modifications. .................................................................................................. 21
3.3 PRE AND CURRENT SHIPMENT MODIFICATIONS ............................................................................ 21
3.3.1 Clone Shipment ........................................................................................................ 21
3.3.2 Clone Package .......................................................................................................... 21
3.3.3 Consolidation ........................................................................................................... 21
3.3.4 Palletization ............................................................................................................. 21
3.3.5 QA Verification ......................................................................................................... 21
3.4 SHIPPING – CONVERTING SHIPMENT FROM PRE TO CURRENT STATE .................................................... 21
3.4.1 Completing shipping process to Carriers interface. ........................................................ 21
3.4.2 Update OMS with shipment data ................................................................................. 21
3.4.3 Advanced Shipment Notification (ASN) ........................................................................ 21
3.5 CURRENT SHIPMENT ACTIONS ................................................................................................ 22
3.5.1 Voiding Shipment ..................................................................................................... 22
3.5.2 Voiding Packages ...................................................................................................... 22
3.5.3 Print Thermal labels .................................................................................................. 22
3.5.4 Printing PDF Forms ................................................................................................... 22
3.6 FINALIZE – CONVERTING SHIPMENT FROM CURRENT TO POST STATE ................................................... 22
3.6.1 Finalize/Pickup (name to be determined) ..................................................................... 22
3.7 POST SHIPMENT ACTIVITIES .................................................................................................. 23
3.7.1 Monitor Shipment ..................................................................................................... 23
3.7.2 Archive data ............................................................................................................. 23
3.7.3 Other Activities ......................................................................................................... 23
3.8 OTHER SCENARIOS ............................................................................................................. 23
3.8.1 Reports ................................................................................................................... 23
6. 3.8.2 Freight Charge Auditing ............................................................................................. 23
3.8.3 Carrier Performance Auditing ..................................................................................... 23
CHAPTER 4: SPECIFIC REQUIREMENTS ............................................24
4.0 GENERAL FUNCTIONALITY ..................................................................................................... 24
4.0.1 System Requirements ............................................................................................... 24
4.0.2 (items need to be allocated to sections in this document, but this is a list of
most items) ........................................................................................................................... 24
4.0.3 Process Shipment screen UI ....................................................................................... 25
4.0.4 Properties setup, logic, and usage ............................................................................... 26
4.0.5 Payment Type .......................................................................................................... 30
4.0.6 Rating and Zoning .................................................................................................... 31
4.0.7 Tracking number assignment ..................................................................................... 35
4.0.8 Scale interface ......................................................................................................... 38
4.0.9 Multi Package Shipments and Package Numbering ........................................................ 39
4.0.10 Thermal label printer ................................................................................................. 42
4.0.11 Shipment query:....................................................................................................... 42
4.0.12 Ship Method setup .................................................................................................... 44
4.0.13 Data Archiving .......................................................................................................... 44
CHAPTER 5: APPENDIXES ................................................................45
5.0 STANDARDS ..................................................................................................................... 45
5.1 REFERENCES..................................................................................................................... 45
5.2 DEFINITIONS .................................................................................................................... 45
5.3 ACRONYMS ...................................................................................................................... 45
7. Chapter 1: Introduction
1.0 Purpose
This Software Requirement Specification (SRS) document specifies the
software requirements for a transportation management system developed
by Neptium Inc. (The system is called ShipGenie). This SRS provides an
organized way to collect all software requirements surrounding into one
document
The reason for this SRS is to provide a foundation for a design that will serve
as the blueprint for evolving and improving the current system. It serves as a
basis of communication between all parties - i.e., between the developers
themselves, and between the developers and the external groups (users and
other stakeholders) with whom they must communicate. Formally or
informally, it represents a contractual agreement between the various parties
- if it‟s not in the SRS Package, the developers shouldn‟t be working on it.
And if it is in the SRS Package, then they are accountable to deliver that
functionality.
1.1 Product Scope
A Transportation Management System (TMS) automates the entire process
for a manufacturer or fulfillment organization from manufactured or
warehoused finished product to packaging, shipment processing, track and
trace to invoice auditing. The system delivers item containerization, shipping
and logistics processing, export compliance, and customer service
functionality in one integrated application.
Integration with ERP or order entry systems such as Oracle, BaaN, and SAP
provides automated order processing with minimal data entry during the
fulfillment process.
Real-time access to major carriers such as FedEx, UPS, and DHL, and export
compliance verification services such as Open Harbor, provides rating
information, automatically initiate pickup, generate appropriate labels and
documentation, provides real-time status of shipments.
The system allows shipping and logistics personnel to easily shop for the best
rates, reduce freight charges by automatically consolidating shipments bound
for a common recipient, and generate all required paperwork for carriers,
domestic and international customs organizations, and customer personnel
who order, track and receive product shipments.
In addition, ShipGenie supports the easy generation of any number of
custom reports and data extractions.
8. ShipGenie provides access to web portals that allow customers to use a
simple Internet browser at any time and from any location to obtain up-to-
date tracking and delivery information regarding their orders.
ShipGenie integrates the critical functions associated with the delivery of
products to customers. ShipGenie provides the basis for collaboration
between all of the parties involved in the delivery of finished products to the
customer. ShipGenie provides carriers, contract managers and customers
with a 360 degree view of critical shipping information including government
export restrictions and the data in ERP systems.
1.2 Description
A typical operational scenario includes a shipping agent accessing the
application via browser
[TODO: Complete the sequence ..]
A typical installation of the system will be similar to the simplified diagram
below:
[ TODO : replace with a more technical diagram ]
9. Chapter 2: Concepts
2.0 Shipping Process Defined
[ TODO: describe a complete typical shipping process (End-toEnd) ]
Give flow of process (not naming SG, but general).
Order is created. Can be end customer, recipient, internal customer, etc.
Order includes what product (items/qty), how many boxes, ship to address,
what carrier, service, properties, when to ship.
Order is processed: tracking number, freight charge, documentation, give to
carrier, e-mail sent
Post process: package is delivered, tracking is done, help desk,
Shipping Organization
Third party recipient
Order
Shipping
Management
System
System
Carrier API Export
Compliance
Server
Order Unit External External Help
Tracking Report Desk
User User User
Item
`
Package Report
Shipment
Pallet
Recipient
Pickup
Origin
Internal actors
Packer Document Shipper Verify
Printer
Internal Internal Administrator
RFID Documentation Scanner
Tracking Report Encoder Label
User User Printer
Report
Batch Scale Batch Carrier
Packer Shipper
Figure 2.1
2.1 The Players
The entities that interact and carry out the operations and services within the
shipping process. See Figure 2.1.
10. 2.1.1 Shipping Organization
A shipping organization is medium sized company to enterprise
organization that has items, that need to be delivered from one or more
origins to multiple recipients (whether internal or external) via common or
3rd party carrier. They have some type of order management system.
They require a shipping system. The shipping organization may perform
some or all of the following: Manufacturing, warehousing, transportation. The
shipping organization is typically Neptium‟s customer.
2.1.2 Order Management System
An order management system is also referred to as an ERP system.
Examples of an order management system are Oracle Apps, SAP, Baan,
JD Edwards, etc. This is a software application that the shipping system
can integrate with directly to read shipment data, such as recipient,
carrier, and item information. Also the shipping system can send back
data as shipments are processed, such as tracking, rating, weight, and
other information. The integration can also be done using file import and
exports between the order management system and the shipping
system.
2.1.3 Order
An order is a business transaction that is initiated by a recipient or 3rd
party recipient and entered into the order management system. It is a
request for multiple items to be delivered to a recipient.
2.1.4 Shipping System
The shipping system is an application that is being defined in this
document. It is the system that prepares orders contained in the order
management system for delivery by the carrier to the recipient, including
all shipment processing and documentation.
2.1.5 Shipment
Multiple packages that have a common origin and recipient that are
transported together are considered a shipment. Although the packages
may be separate physical entities, the carrier and documentation
considers the shipment as a single virtual entity. A shipment may also be
made up of multiple pallets.
An order can be broken into multiple shipments if they have different
origins, recipients, ship dates, or in some other way will be delivered
separately. Also, multiple orders or parts of orders can be combined to
form a single shipment.
11. 2.1.6 Unit
A unit is an individual physical good. It is the smallest part of an order
identified by the shipping system. An example would be one keyboard out
of ten included in an order.
2.1.7 Item
An item is a group of multiple identical units included in one order. It is
sometimes called a line item. An example is ten keyboards included in an
order.
2.1.8 Package
A package is one physical container (i.e. box, envelope, tube, etc.) that
holds multiple units.
2.1.9 Pallet
A pallet is a container that holds multiple packages. The packages on a
pallet may be part of one or multiple shipments.
2.1.10 Pickup
A pickup is the sum of all shipments physically transferred from one origin
to a carrier at one time. This is also referred to as a manifest or daily pickup
(even though there may be multiple pickups for a carrier each day).
2.1.11 Documentation
Documentation may be generated for a pickup, shipment, pallet,
package, or other grouping of shipment entities. This is generated on a
printer and may be a peel and stick label or laser printed form that is used
by the shipping organization, carrier, or recipient.
2.1.12 Reports
Reports are a form of data extraction from the shipping system. They can
be filtered or sorted to present the data in an easy to read format that
provides useful information to an internal report user or external report
user.
2.1.13 Origin
An origin is a physical location for shipments to be picked up by carriers.
Usually this is a warehouse, distribution center, or manufacturing facility that
is part of the Shipping Organization.
2.1.14 Recipient
The recipient is the entity that receives shipments that the carrier
delivers. They will typically be defined by a customer number, name, and
address. The recipient may also receive e-mail advanced shipment
notifications (ASN) from the shipping system.
12. 2.1.15 3rd Party Recipient
The 3rd party recipient is related to the recipient in that they may have
initiated the shipment or may be paying for the shipment, but they are not
actually receiving the physical shipment. The 3rd party recipient is
typically the shipping organization’s customer and the recipient is the 3rd
party recipient’s customer.
2.1.16 Carrier
A carrier is an organization that performs the physical transportation of
shipments. A carrier picks up shipments from a shipping organization
origin and delivers them to a recipient.
There are parcel carriers and less than truckload (LTL) carriers. The main
distinction is that a parcel carrier teats each package as an individual unit
to be delivered, while an LTL carrier treats a group of packages as one unit
to be delivered. There are many different carriers, such as UPS, FedEx,
DHL, Yellow, Roadway, TNT, etc. Each carrier has different service levels
that primarily define the delivery timeframe, such as Next Day, Second Day,
and Ground. They also have many properties that apply to services that
define details of the shipments, such and Saturday delivery, insurance,
additional handling, etc.
2.1.17 Carrier API
Some carriers provide open APIs that the shipping system can connect
with through the Internet in order to perform shipment processing. The
shipping system will send recipient and package data to the carrier API
and receive tracking, rating, and other shipping data from the carrier API.
Carrier APIs have all shipping business rules for the carrier that can
change day by day and can give real time tracking information.
Carrier APIs usually use XML communications. However, some carriers use
other protocols, but they will be included in the carrier API category for this
document. The carriers that support carrier APIs are defined as interactive
carriers in the shipping system.
Carriers that do not support carrier APIs are defined as custom carriers
and have all rating, tracking, and other business rules defined within the
shipping system.
Some of the carriers with carrier APIs are: FedEx, UPS, DHL, USPS,
BAXGlobal, Menlo, California Overnight, Aeronet. Other carriers will be
adding this functionality in the future. The Interactive carrier list is limited to
the ones that provide carrier APIs while there can be an unlimited number
of custom carriers in the shipping system.
13. 2.1.18 Export Compliance Server
Similar to a carrier API, an export compliance server is an external
source for shipment processing rules. This service will provide rules on how
to process international shipments. Some of these rules are for product
classifications and restricted party address validations
2.1.19 Packer
The packer is part of the shipping organization and typically resides at
the origin. They perform the process where units contained in multiple
orders are organized to be physically packed into multiple packages,
pallets, and shipments. This is done either by the packer manually
performing this organization or by a set of business rules and logic defined in
the shipping system for efficiency and cost effectiveness. This is the stage
where data is first brought from the order management system to the
shipping system.
2.1.20 Batch Packer
The batch packer is the player who performs the same function as the
packer, except it is done in batch mode and typically there is less decision
by the batch packer and the shipping system has business rules to make
packing decisions.
2.1.21 Shipper
The shipper is part of the shipping organization and typically resides at
the origin. They process shipments to be made ready for delivery in a
format acceptable to the shipping organization, carrier, and recipient.
This may be selecting carrier info or documentation to generate among
other shipping decisions. A single person may also perform shipper and
packer responsibilities. The order management system may perform the
packer function, and in this case this is the stage where data is first brought
from the order management system to the shipping system.
2.1.22 Batch Shipper
The batch shipper is the player who performs the same function as the
shipper, except it is done in batch mode and typically there is less decision
by the batch shipper and the shipping system has business rules to make
shipping decisions.
2.1.23 Verifier
The verifier is part of the shipping organization and typically resides at
the origin. They perform a quality assurance (QA) process on packages
before carrier pickup. This may be a weight, barcode scan, or other type of
verification of physical units, items, or packages compared to data
contained in the shipping system. This process will prevent errors from
leaving the origin and confirms that the last step of the process within the
shipping organization took place.
14. 2.1.24 Internal Tracking User
The internal tracking user is part of and can reside anywhere in the
shipping organization. They will look up packages in the shipping
system to find tracking status. This may be customer service or anyone in
the shipping organization who needs this information.
2.1.25 External Tracking User
The external tracking user is typically the recipient or 3rd party
recipient and can reside anywhere. They have a need to know the tracking
status of packages. They will have limitations on what data they can see.
Typically it is only data pertaining to their orders.
2.1.26 Internal Report User
The internal report user is part of and can reside anywhere in the
shipping organization. They will use the shipping system to extract data
in report format.
2.1.27 External Report User
The external report user is typically the recipient or 3rd party recipient
and can reside anywhere. They have a need to see data in the shipping
system. The presentation of this data is typically in a customized format
designated by the shipping organization, recipient, or 3rd party
recipient. They will have limitations on what data they can see. Typically it
is only data pertaining to their orders.
2.1.28 Help desk User
The help desk user is typically the recipient and can reside anywhere.
They will be able to provide feedback to the shipping organization, or a
designated 3rd party, about shipments processed. This may include
shipments not received, wrong quantities of items, wrong items, etc.
2.1.29 Administrator
The administrator is part of and can reside anywhere in the shipping
organization. Their job is to configure and administrate the system. These
configurations may be to modify carriers, login IDs, or any other system
parameters.
2.1.30 Printer
A printer is a physical printing device that resides in the origin and is used
by the packer and shipper. The two types of printers are laser printers and
thermal printers.
2.1.31 RFID encoder
The RFID encoder is a physical device that resides at the origin and is used
by the packer and shipper. It writes data to an RFID device. RFID devices
15. are attached to units, packages, pallets, shipments, or pickups. The
data that is written comes from the shipping system and is used identify
the entity. It may be integrated into a thermal printer.
2.1.32 Scale
A scale is a physical device that resides at the origin and is used by the
packer and shipper. It is used to measure the weight in pounds or
kilograms of packages and pallets. The weight is used to determine
shipping costs and to complete documentation.
2.1.33 Scanner
A scanner is a physical device that resides at the origin and is used by the
packer and shipper. It reads bar codes in order to quickly enter data into
the shipping system from existing documentation.
2.1.34 RFID Reader
The RFID reader is a physical device that resides at the origin and is used
by the packer and shipper. This is a device that can read the data written
to an RFID device.
2.2 The Required Functions
<< TODO: Provide High level list of the required functionality >>
[look at entities and look at functions for each (or interactions between
them). List what function is, input, output, expected results, but not how
process works.]
2.2.1 ERP Integration
System will use open API layer to interface with multiple ERP, Order
Management Systems, Database, or File systems. This interface will be a pull
transaction where a user or schedule will initiate data to be pulled from the
external Order system.
Automatically updates shipping and tracking information within the
ERP system
Extracts address and shipping information from the ERP system
Integrates with multiple ERP vendor solutions including SAP, Oracle
and PeopleSoft
Includes a powerful, flexible and customizable report writer ???
2.2.2 Black box processing Interface
System will use open API layer and some type of Web Services to allow
external systems initiate a connection and perform Shipping and Rating
among other APIs.
16. 2.2.3 Carrier Interface
All shipping, rating, tracking, etc. carrier functions will be handled by the
Carrier Interface. There will be handlers for each interactive carrier as well as
a custom carrier handler for internal carrier transactions.
2.2.4 Real-time Carrier Compliance
Provides real-time access to all major commercial and LTL carriers
through central Carrier Communication module.
Queries carrier on-line systems for current rate information
Considers all factors to find the best available shipping rates
Tracks savings
Provides real-time status of shipments
Tracks shipments not delivered on time and documents refunds due
from carrier
Generates bar-code labels and forms to carrier specifications
2.2.5 Built in Carrier compliance
For carriers that do not support an API, compliance, rating, and
shipping engine should be self contained within ShipGenie
UPS will require PLD compliance and certification.
USPS will include MAC certified compliance.
2.2.6 Contract Manufacturing
Communicates with and updates sub-contractor manufacturing systems
Interfaces directly to host ERP and logistics solutions
2.2.7 Export Compliance
Generates required bills of lading, commercial invoices, manifests and
export documents
Verifies restrictions including denied parties, embargoed countries and
product compliance
Considers UN and OFAC sanctions and embargoes
Includes restricted products
Flags items subject to import quota restrictions
17. Includes import/export license requirements
Provides real-time Internet access to current export requirements and
restrictions
Supports shipping products to and from any country
Creates export forms for any country
2.2.8 Customer Portal
Provides real-time information via a web browser interface
Secures limited access to ERP shipping information
2.2.9 Logistics Management
Provides staging for just-in-time manufacturing and delivery
Supports changes “up to the last minute”
Automates conveyor operations
2.2.10 Portable Design
Easily integrates with wireless applications
Meets requirements for enterprise security, reliability and performance
Scales to support an unlimited number of users and transactions
2.2.11 Easy Customization
Easily customized to each organization specific business practices
Configuration and customization of user screens ?
Customization of reports ????
2.2.12 Other…continue to add items and refine list
2.3 The Operating IT Environment
This describes the IT environment in which the software is suppose to
operate
[complete other sections before addressing this section. ]
2.3.1 Shipping Stations
Browser on a PC
19. Chapter 3: Usage Scenarios
This section breaks down the overall operation of the system into smaller
sequences. Each sequence is well defined in terms of the interactions, data,
operation and results. It provides the perspective of what is done and needed
to happen and not the design perspective (of how it is accomplished in the
software). The sequences are the logical occurrences and behavior as the
various players (Section 2.1) go through their business.
<< TODO: capture all the relevant Scenarios >>
3.0 User Authentication
Whether it is through the UI or API the connection needs to be secure and
authenticated.
Different roles for different access to system.
3.1 Convert Orders to New Shipments
3.1.1 Query and Pull Order from external system to Accept Order
Done through UI or scheduled process
In UI, user may batch import orders, select multiple orders from query list or
enter specific order number to import.
File import
ERP interface (API)
DB import (shipment and package)
3.1.2 Order pushed from external system to ShipGenie
Open API will handle messages sent from external system with multiple
orders.
Typically for this scenario one order will be one shipment. (Can we accept
merged or split orders this way???)
3.1.3 Convert Order to Shipment
Auto packager…
Manual packager…
<insert manual packager work package>
Keep track of Order to Shipment mapping
3.1.4 Enter new shipment manually
This is done through the Shipping screen UI and user either types in all data
or pussl from address book and product list.
20. 3.2 Manipulate Pre-Shipment
3.2.1 General
Pre-Shipment modifications can generally be done on an individual or batch
process except al identified below.
3.2.2 Optimize Shipment (i.e. Rate Shopping, Routing, etc.)
Routing is the process of determining the Ship Method and other shipment
parameters based on a variety of logic.
Example 1: Customer, destination, and total weight routing – For customer
X, it is desired that if the total weight of all shipments in that Pickup is over
1000 lbs to use a specific Carrier Account and Service. If the weight is less
than 1000 lbs to use a different Carrier Account and Service. Also if it the
destination is inside or outside of California there are different Carrier
Account and Service selections.
Example 1: Holiday Routing – This is where a holiday falls on a Monday and
the major carriers do not deliver on that day. Therefore, a 2nd day air
shipment leaving on Thursday will not arrive until Tuesday rather than
Monday. In this case the Service needs to be upgraded to next day in order
to arrive on or before Monday.
Example 1: Time in Transit routing – For carriers that have different delivery
commitments for Ground Service shipments, it is more cost effective to pick
ground Service if the delivery commitment to a specific destination is in two
days rather than the 2nd day air Service. Either service will get the shipment
there in two days, but Ground Service costs less.
For Rate Shopping, predetermined logic picks the Carrier Account and
Service. Typically this is based on the rate (freight charge) of the shipment,
but also may include other weighting such as preferred carrier status.
When done through the UI the user will have a choice of seeing all the
possible selections and choosing or the system can automatically assign.
100 wt rating for multi packager shipments for discounted rating
3.2.3 Select Address from Address book
3.2.4 Select Products from Product List
3.2.5 Split or Merge Shipments
Fast MPS and Manual Packager
Fast MPS (Multi Package Shipment) allows a Shipment containing one
Package to be split in to multiple Packages. Items are all listed as in package
1 of MPS even if they are physically in separate Packages. By default, all
21. Packages are assigned the same physical attributes (weight, dimensions,
etc.) but may be assigned separately.
See also section above on Manual Packager which can be used on Shipments
like it is used on Orders.
3.2.6 Modify Shipment, Package, or Item details
Most data in a Shipment, Package, or Item can be modified through the UI.
i.e. change Ship Method of Shipment, enter e-mail address for Shipment,
change box dimensions or type of Package, add serial number to an item,
etc.
Batch update allows for specific data fields for multiple Shipment, Packages,
or Items to be modified in one process.
3.2.7 Other Modifications.
To be determined.
3.3 Pre and Current Shipment Modifications
3.3.1 Clone Shipment
3.3.2 Clone Package
3.3.3 Consolidation
Add new state for shipment called “Consolidated”. This state means that the
shipment has been consolidated into a new shipment or multiple new
shipments. The old consolidated shipments still exists in the system as a
record, but is not available to take any actions on (except purge).
Need to have new attribute in Item object for ancestry. This will determine
what the previous “consolidated” shipment the items came from.
3.3.4 Palletization
3.3.5 QA Verification
Weight verification
Item scan verification
3.4 Shipping – Converting Shipment from Pre to Current state
3.4.1 Completing shipping process to Carriers interface.
Include LTL carrier functionality
3.4.2 Update OMS with shipment data
3.4.3 Advanced Shipment Notification (ASN)
This is typically in the form of e-mail, but may also be EDI or file transfer.
22. 3.5 Current Shipment Actions
3.5.1 Voiding Shipment
Need to update carrier and OMS to keep in sync
3.5.2 Voiding Packages
This is where a package within a Shipment is voided. In this case the
package numbering needs to be modified. In some cases the carrier will not
allow this and the remaining packages must be cloned as pre-Shipments and
re-shipped.
3.5.3 Print Thermal labels
Need to be able to save form to print again.
3.5.4 Printing PDF Forms
Need to be able to save form to print again.
3.6 Finalize – Converting Shipment from Current to Post state
3.6.1 Finalize/Pickup (name to be determined)
Store pickup sequence number and timestamp
Archive shipments
When a carrier is finalized, the system will check to make sure all lots are
full. This means that the count of all packages with current status and with
the same Lot ID = Y. If there are exceptions a new screen with a table will
come up that will have the following properties:
Title: Multi Package Exception Report
Text: “The following multi package lots were not complete or had
packages with Pre Ship status. Please complete each lot or Ship
any Pre Shipped packages.”
Columns: Tracking #, Pkg. ID, Name, Company, Status, Lot ID.
Alternating horizontal color bars with each bar containing records
from one exception lot.
The package ID for each record will be a link to pull up that
package in the process shipment screen to me modified as
necessary.
Button below table with text “Finalize balance of shipments.”.
Below will be text: “ The shipments in the above table will not be
finalized and can not be given to the carrier for delivery.” If this
button is clicked, all packages not in the list above will be finalized
normally.
23. 3.7 Post Shipment Activities
3.7.1 Monitor Shipment
Once the Shipment is picked up by the carrier, ShipGenie will track the
shipment through the carrier API at administrator defined intervals. There
needs to be a mechanism to send an e-mail notification for delivery
exceptions. Exceptions can come from the carrier API or determined by
ShipGenie. Some examples of carrier API exceptions are: business closed,
address not valid, etc. ShipGenie determined exceptions will be due to late
delivery by the carrier. ShipGenie will know the expected delivery date based
on the service and ship date and will make sure that it matches the delivery
date provided by the Carrier API or will send an e-mail notification if the
shipment/package is not delivered by the expected date.
These tracking results need to be persisted in the database.
3.7.2 Archive data
3.7.3 Other Activities
To be determined.
3.8 Other Scenarios
3.8.1 Reports
Reports can take the form of a file that can be exported in various formats or
a report on the screen that is ready to be printed.
Custom data queries
Different file types (CSV, HTML, text, flat)
3.8.2 Freight Charge Auditing
3.8.3 Carrier Performance Auditing
24. Chapter 4: Specific Requirements
This section contains all the software requirements at a level of detail
sufficient to enable designers to design a system to satisfy those
requirements, and testers to test that the system satisfies those
requirements.
The specification here, should address in detail each element described in the
sections above.
<< TODO: capture all the relevant Scenarios >>
4.0 General Functionality
4.0.1 System Requirements
Consider screen resolution on customer‟s PC, ShipGenie works best in
1024x764 resolution.
Hardware specifications:
Server
Client
Peripherals
Software specifications:
Database
Server Operating system
Etc…
4.0.2 (items need to be allocated to sections in this document, but this
is a list of most items)
Reports
o Standard report tool
Title
Private/public per user
Select different columns from SG data on shipment,
package, or item level
Subdivide and subtotal by multiple fields
Filter and sort by data type
Carrier management
o Show package count per carrier
o Generate manifest/ carrier shipment report
o Finalize (or Carrier Pickup)
By carrier
25. By date. Filter for all, current, before, after, etc.
Show last finalize date
Keep track of shipments finalized so user can see pickup
history.
Shipping Screen UI, etc.
o Key field to query OMS or ERP
o Drill down functionality for Wave, shipment, package, item
o Ship Method for carrier, service, ancillary services
o Future shipping
o Scale interface
o Billing types
o Carrier package types
o Predefined custom box sizes
o Address book lookup
o Rate shipment
o AES filing
o Item lookup
Address book
Product list
Box list
Double byte characters (Asian fonts)
Web Portal
o Shipment History/Tracking
o HelpDesk
Address verification
Export compliance
4.0.3 Process Shipment screen UI
Add pull info functionality:
When pull info button is clicked it will pull hard coded data
depending on the package ID entered
There will be 5 sample package ID entries (Sam to provide data)
If a package ID is entered that is not in the hard coded list, a
Message will appear telling user „package ID can not be found.
Please confirm host system has this package ID ready for
shipment.‟
Move and resize items on screen
See printed pages with arrows and highlighting
Add new logo (Nept-dev-winDocumentsnew-logo.jpg ) to top
right of screen.
Replace menu buttons (i.e. Shipment Query, Carrier
Management, etc.) with new smaller images.
Add „Actual Value‟ column to properties
26. At the bottom of this column with be the Total Properties
Charges with the sum of all properties charges.
Add Rate field – this value will come from „pull info‟ for
demonstration purposes.
Change „Freight Amt.‟ label to „Total Freight Charge‟
The value of this field will be the sum of the „Rate‟ and the „Total
Properties Charges‟
Add refresh update button
This will recalculate the „Total Properties Charges‟ and „Total
Freight Charge‟ for demonstration, but will do more later.
4.0.4 Properties setup, logic, and usage
Note: Enh. #41 deals with implementing (hard code) the properties in the
table below; their logic and setup. Enh. #15 deals with the ability for the
admin to create new or modify existing properties and their logic.
On the process shipment screen there will be various properties listed. Which
properties shown and their default values and status depend on the Ship
Method chosen. The user will have the option to enable or disable any
properties shown as well as change any values, such as text fields or fees.
When a property is enabled (the checkbox is checked), there are certain
actions that take place on the shipment. If the property is disabled, it is
ignored by the system. Many times there is an additional cost added to the
total freight charge. Other times there may be special text printed on the
shipping label. The actions are described in detail for each property in the
table below.
Under System Maintenance, Carrier Configuration, Shipment Properties List,
there will be a standard Add/Delete/Modify list of Properties, with name and
Description columns. From this page, the admin will be able to create and
modify Properties. For Enh. #41 the admin will be able to modify the
parameters and default values of existing properties. For Enh. #15 the admin
will be able to create new properties and more importantly will be able to
create new logic for the property‟s actions. For existing properties there may
be text printed on the label, an additional fee charged, or a calculation of a
percent of the rate. Once the admin clicks on the Property name, a new page
with the property logic and editable values will be shown. Here the admin will
set the default values for text, fees, percent, etc.
Setup parameters explained:
Fixed Fee: Admin enters a numeric value in the setup screen that
will be shown as the amount for this property and will be included
in the total freight charge when this property is enabled on the
process shipment screen. Can be left blank for user entry.
27. Percent: Admin enters a percent in the setup screen. The
calculated rate for the package times the percent entered will be
shown as the amount for this property and will be included in the
total freight charge when this property is enabled on the process
shipment screen. Can be left blank for user entry.
Percent, minimum value: Admin enters a percent and a dollar
amount (min fee) in the setup screen. The greater amount between
the calculated rate for the package times the percent entered AND
the minimum fee will be shown as the amount for this property and
will be included in the total freight charge when this property is
enabled on the process shipment screen.
No Fee(Text): The Admin enters a default text string in the setup
screen that will be shown as the default in the text box for this
property when this property is enabled on the process shipment
screen. However the user may change the text on the process
shipment screen. Can be left blank for user entry.
No Fee(value): The Admin enters a default numeric value in the
setup screen that will be shown as the default in the text box for
this property when this property is enabled on the process
shipment screen. However the user may change the number on the
process shipment screen. Can be left blank for user entry.
User Intervention explained:
This describes the actions, if any, the user will take after the
property has been enabled on the process shipments screen.
Properties List:
Name Description Setup User Calculatio Carrier
parameters interventio n s
n
2 Person Extra fee Fixed fee None Add to base
Pickup/Deliver charged for rate
y heavy,
bulky, or odd
sized
packages.
Additional User entry Fixed fee Enter dollar Add to base
Handling fee for amount rate
miscellaneou
s reasons.
Advance
Charges
Call Tag Creates a GEN
return label
for package
to be picked
up by
carrier.
COD for Goods “Cash on Fixed fee enter a COD base rate + LTL,
Delivery” this dollar COD GEN
28. is where the amount. amount
recipient will +fixed fee
pay the = total
carrier for freight
the goods at charge
time of
delivery.
Convention Fixed fee Enable Add to base
Pickup/Del. rate
Commodity This is a text None Enter text None. Used
Description description for customs
mainly used documents
for customs
purposes to
tell what
type of item
in is
package.
Dangerous Additional See Hazardous
Goods fee and Mat‟l
provide extra
text on
shipping
label.
Declared Value Dollar None Enter dollar None. Used
amount of amount. for other
how much calculations
the package , such as
contents are insurance
worth. or customs
documents
Delivery Used for None Enter DC None GEN,
Confirmation postal number USPS
service
Dutiable Fee used for
customs
purposes
Dry Ice Additional Fixed fee Enable Add to base
fee and rate
provide extra
text on
shipping
label.
Express Plus
Extended Area Additional Fixed fee Enable Add to base
Surcharge fee for rate
delivery to
some rural
or remote
areas.
Fuel Fee charged Percent Enable Increase
Surcharge to base rate
29. compensate by percent
for high fuel
prices.
Hazardous Additional Fixed fee per Enable or LTL,
Material fee and type of haz-mat: select type GEN
provide extra dangerous of haz-mat
text on liquids/flammabl
shipping e
label. There liquids/flammabl
are several e solids/etc.
subcategorie
s of types of
hazardous
materials.
Hold at This Fixed fee Enable Add to base FedEx
Location designates rate
the package
to be
delivered to
a local FedEx
customer
service office
for the
recipient to
pick up.
Inside Additional Fixed fee Enable Add to base
Pickup/Deliver fee and rate
y maybe
provide extra
text on
shipping
label.
Insurance Percent Enable
Insured Value Additional Percent, min Enter percent of LTL,
– user enters fee to cover value declared DV or uses GEN
damage or value minimum
loss of value.
package
contents.
Liftgate Special Fixed fee Enable
Pickup/Del. delivery fee
LTL Discount percent Enable % discount LTL
on rate
Misc. Fee for Fixed fee Enable GEN
Charges/Fees miscellaneou
s purposes.
User can not
adjust.
Misc. User text to None Enter text None. Used
Parameters print on for label
shipping
label
30. NMFC Number Optional default Enter LTL
value number
Out of Additional
Delivery Area fee for
– extra charge delivery to
some rural
or remote
areas.
Oversize Extra fee
charged for
heavy,
bulky, or odd
sized
packages.
Proof of Carrier will
Delivery be required
to provide
confirmation
with time
and date of
delivery.
Residential Special fee Fixed fee Enable Add to base GEN
Delivery for delivery rate
to a non
business
address
Saturday Special fee Fixed fee, per Enable Add to base LTL
Delivery for weekend template? rate
delivry
Shipment Text to Optional default Enter text text to LTL
Description appear on value appear on
label label
Signature POD “Proof of
Delivery”.
Driver will
require
signature to
deliver
package.
Text will
print on
label.
Special Special
Pickup/Del delivery fee
Sunday Special fee
Delivery for weekend
delivry
4.0.5 Payment Type
On the Process Shipments screen there is a Payment types field.
There are three fixed values as choices for this field:
31. Bill to sender
Bill to Recipient
Bill to Third Party
If the payment type = Bill to sender, no action is taken.
If the payment type = Bill to Recipient or Bill to Third Party, the
freight change is changed to 0. This is because the sender
(ShipGenie owner) is not paying for the freight charge and it should
not be passed back to the ERP.
4.0.6 Rating and Zoning
Note: There may need to be some major changes to the rate and zone
related tables and how they are linked to other tables. They should not be
carrier based, but more template and service related. See Sam for details.
Definition of Freight Charge is the total cost to deliver a package.
Definition of Rate is the cost to deliver a package with a specific weight to a
specific destination, not including fees for Properties.
A Country Division is the global term used for a region within a country
such as US State, province, etc.
A Postal Code can be zip code for US or other alphanumeric geographic
code within a country.
The rate is based on several factors depending on how it is set up in the
template, service, and carrier. The rate is determined, in general, by the
following:
First, the zone is determined using the data input on the process
shipment screen (postal code, state, or country) and cross-
referencing the applicable zone chart.
Then, the rate is determined by taking the weight of the package
and the zone, and cross-referencing the applicable rate chart.
Finally the freight charge is calculated from the rate plus the sum of
charges for all properties.
If the parameters on the screen are not valid to calculate a rate, the system
will prompt the user for manual entry of rate or will assign 0.
Rating: There are rated and nonrated (method=None) templates and
services. Nonrated templates and services will always show „Nonrated‟ in the
freight charge field on the process shipments screen and will record „0‟ in the
shipment table.
Rating methods:
Flat: rate is calculated to be equal to the STD_CHARGE field. *
Per pound: rate is calculated to be equal to the weight of the
package times the STD_CHARGE field. *
32. Mixed: this is where both flat and per pound are used for different
weight ranges.
Minimum charge: The system will use the higher amount of either
the MIN_CHARGE field or the calculated flat or per pound rate.
Zoning: There is zoned (or distance based) rating and nonzoned rating
(method=None). If using nonzoned rating, the system will override normal
zone determination and will always return a zone of „nz‟ for rating purposes.
The system will ignore all records for that template or service that do not
have a value of „nz‟.
Zone methods can be: a range of postal codes, a state, a country, or can use
state and country combination.
System setup (Methods):
Rating and zoning parameters are set up at the Template and
Service level. These settings will be inherited by all Carriers under
each Template, except as stated below.
In System Maintenance, Custom Carrier Configuration, Template,
there will be two new columns: Rating and Zoning. Each record
under these columns will have the zone/rating method as a link.
The linked page will have the zone/rating methods with radio
buttons in front of each method for the user to choose.
Rating methods: None/Per Service/Flat/Per Pound/Mixed
If Flat, Per Pound, or Mixed is selected here, a Rate Chart
drop down will appear with a list of the rate charts and an
additional choice „Per Carrier‟ at the top of the list as a
default.
If „Per Carrier‟ is selected, there will be a Rate Chart drop
down on the Carrier Information page for each carrier
associated with the Template.
Zone methods: None/Per Service/Postal
code/State/Country/Mixed.
If Postal code is selected here, a Zone Chart drop down will
appear with a list of the zone charts and an additional choice
„Per Carrier‟ at the top of the list as a default.
If „Per Carrier‟ is selected, there will be a Zone Chart drop
down on the Carrier Information page for each carrier
associated with the Template.
In System Maintenance, Custom Carrier Configuration, Template,
Service List, there will be two new columns: Rating and Zoning.
These fields will be read only and will inherit the Template values
unless „Per Service‟ is selected at the Template level. If „Per
Service‟ is selected, they will work the same as for a Template
except will not have the „Per Service‟ option.
If „Per Carrier‟ is selected after Postal code, Flat, Per Pound, or
Mixed was selected in the Zone or Rate drop down, there will be
33. a Zone or Rate Chart drop down respectively on the Exclude
Services page (***change name to Services List ***) for each
Service.
Carrier Information page:
Add Rating and Zoning fields. These fields will be read only and
will inherit the Template value unless stated otherwise above
and then will be drop down lists.
Exclude Services page
Change name to Services List
Add Rating and Zoning fields. These fields will be read only and
will inherit the Template‟s Service value unless stated otherwise
above and then will be drop down lists.
System setup (Data):
Rating:
In System Maintenance, Custom Carrier Configuration, Rating
Parameters, the sys admin will set up (manually or by import) the
rating data for each Template, Service, and/or Carrier.
The screen will have the title: „Rate Charts‟. There will be three
drop down boxes with labels: Templates, Carriers, and Services.
There will be a table with columns: Name and Description. There
will be Add, Modify, and Delete buttons like other list pages.
The drop down boxes will have „---‟, „All‟ and a list of the
respective Templates, Carriers, or Services.
After the user selects a Template from the drop down the
data in the Service and Carrier dropdown lists will be filtered
accordingly.
As the user makes selections from the drop down the table
will populate as filtered by the drop downs.
Each Rate chart name in the table will be a link to a new
page.
NEW???
The linked pages will be like other list pages with Add,
Modify, and Delete buttons.
Title will be: Rate Chart <description>
There will be a table on top with columns Template,
Service, Carrier. This will list all associated Templates,
Services, and Carriers. Each template will have a different
color coded horizontal bar with records for as many
services it owns. Under Carrier, the carriers will be listed
in one field separated by commas.
There will be a second table below that will be like other
list pages with Add, Modify, and Delete buttons. There will
be a label with the rating method (Flat, Per Pound, or
Mixed). The table will have columns: Zone ID, Start
34. Weight, End Weight, Standard Charge, and Method (only
if the rating method is Mixed)
There will be a third table below with columns: Zone ID,
Start Weight, End Weight, and Minimum Charge.
The user will be able to select whether to use the exact
weight, round to the whole weight unit, or jump up to the
next weight unit (i.e. 2.13 lb gets rated at 3 lb.).
The user will be able to choose between „>= min, <max‟
or „>min, <=max‟ for weight ranges.
Zone ID for mixed zone is Country code_Div code
Rate importing will be implemented in a later version.
Zoning:
In System Maintenance, Custom Carrier Configuration, Zoning
Parameters, the sys admin will set up (manually or by import) the
zone tables for each service.
The screen will have the title: „Zone Charts‟. There will be three
drop down boxes with labels: Templates, Carriers, and Services.
There will be a table with columns: Name and Description. There
will be Add, Modify, and Delete buttons like other list pages.
The first two records in the table will always be State and
Country. These can not be deleted.
The drop down boxes will have „---‟, „All‟ and a list of the
respective Templates, Carriers, or Services. They will all
have „---‟ by default.
After the user selects a Template from the drop down the
data in the Service and Carrier dropdown lists will be filtered
accordingly.
When the user first comes to this screen the table will have
only State and Country listed. As the user makes selections
from the drop down the table will populate as filtered by the
drop downs.
Each name in the table will be a link to a new page.
The linked pages will be like other list pages with Add,
Modify, and Delete buttons.
State will link to a page with Title: State List. It will have
a drop down box with label Country. There will be a table
with columns: Name and Description. The drop down will
default to US and it will filter the data in the table.
Country will link to a page with Title: Country List. There
will be a table with columns: Name and Description.
Zone chart names will link to a new page:
Title will be: Zone Chart <name>
There will be a table on top with columns Template,
Service, Carrier. This wil list all associated Templates,
Services, and Carriers. Each template will have a
different color coded horizontal bar with record for as
35. many services it owns. Under carrier, the carriers will
be listed in one field separated by commas.
There will be a second table below that will be like
other list pages with Add, Modify, and Delete buttons.
This will have a table with columns: Start Postal code,
End Postal code, and Zone ID.
Zone importing will be implemented in a later version.
Zone charts can apply to multiple or individual templates, services,
or carriers.
SG_COUNTRY and SG_STATE act as Zone charts for country and
state zone methods respectively.
Change field in SG_CARRIER_ZIP_ZONE_REL from CARRIER_ID to
ZONE_CHART_NAME.
Features:
Select lbs or kg
As information is being entered on the process shipment screen,
the user will be able to have the system calculate the rate by
clicking the („refresh‟ or „update rate‟) (button or link). See Enh
#95.
The system validates to make sure there are no overlaps in weight
ranges for the same template, service, and carrier.
4.0.7 Tracking number assignment
This document deals with the two issues relating to Tracking Numbers:
Creating the new Tracking # Setup Page in the System
Maintenance area
Actual usage functionality on the process shipments screen
Requirements for Tracking # setup page:
Carriers will give the user a range of tracking numbers to use. For
example, the range may be: 123400001 – 123499999.
User will need to enter the starting, ending, and current (next to
use) tracking number for this range. Initially, the starting and
current number will be the same.
There will be three options for tracking number usage for each
template that can be further limited to each carrier and service that
the user will select one from.
The system will generate the tracking number from the range
input by the user.
The user will manually enter a tracking number at the time of
shipment of each package. For example, some carriers will
supply self-adhesive labels with a bar code and tracking number
on it. At the time of shipment, the user will stick one of these to
each box and type (or scan) in the tracking number on the
process shipment page. On the setup page, there will be a
36. checkbox for not allowing blank tracking number field for this
option.
There will be no tracking number used. Tracking number field
will not show on process shipment screen.
Some carriers may use the same tracking number for multi
package shipments while others use unique tracking numbers for
each package. There will be an option on how to assign tracking
numbers for multi package shipments (use same number OR use
unique number).
To add tracking number range, the user will click on an „add new
range‟ button. This will open a new page with:
a carrier drop down list
starting number field
ending number field
current number field
check boxes for each service for the selected carrier
warning parameters button
Some carriers may have different tracking number ranges for
different services. For example, one range for domestic service
types and a different range for international service types. By
default the first entered range will apply to all services. Subsequent
ranges will have a method to select which service types it applies
to.
After carrier is selected in the drop down, the screen will update
with all the services for that carrier with check boxes.
By default all services should be checked off because most of the
time there is one tracking number range for all services in a carrier
If there is more than one tracking number range, the user will need
to be able to add additional tracking number ranges for the carrier
and set them to apply to different services.
Service check boxes cannot be checked for more that one range.
There will be a column on the page to show the percent of the
range that has been used.
There will need to be a warning alert when the user has a certain
percent or number of tracking numbers left. The user will be able to
turn the warning on and off and select a percentage or number left
to set the alert. This will be set on another screen by clicking on the
warning parameters button.
The range may have a check digit that the SG system will need to
calculate. More information will be provided on this later.
Tracking # setup page should look like this:
Tracking Number Setup
Carrier Range (services) Start End Current Used
ARB_ALA 1 (all svcs) 00001 99999 23456 23%
ARB_BOX 1 (1D, 2D, G) 00001 55555 00001 0%
ARB_BOX 2(I) 55556 77777 55556 0%
37. PIL_ALA user (blank allowed)
PIL_BOX user(blank not allowed)
WAT_ALA blank
Notes:
User can click on carrier name to edit
There will be delete check boxes in front of each carrier name and a delete
button similar to other pages
There will be an „add new range‟ button
Here is the business logic for the tracking number usage (for SG assigned
tracking numbers):
There will be three types of tracking number assignment methods.
We will implement and test the first method now. The second and
third methods will be implemented later, but are presented here to
let you keep the code open for these issues.
One tracking number is assigned to each individual package.
One tracking number is assigned to several packages in one lot
or multi package shipment. The tracking number may also be
called a Bill of Lading number.
One tracking number is assigned to a consolidation of several
packages. A consolidation is a type of multi package shipment
where the total number of packages may not be known when
the first package is shipped. Consolidations are a grouping of
several packages shipping with the same carrier, service, and
destination.
Method 1.
On the process shipment screen, after the user has entered all the
shipping information (pre or new shipment) they will then click on
the ship button and the system will assign the current tracking
number in the range to that shipment and increment the current
number by one.
One tracking # is assigned to each package. This may apply to
multi package shipments also.
Most carriers will assign each package in a multi pkg shipment with
its own tracking number. However, some carriers will assign one
tracking number (or another name is Bill of Lading) to the group of
packages. See Method 2 below.
Method 2. (to be developed later, this section not complete)
For box x of y:
38. If x = 1, on the process shipment screen, after the user has
entered all the shipping information (pre or new shipment) they
will then click on the ship button and the system will assign the
current tracking number in the range to that shipment and
increment the current number by one.
If x >1, the system will use the same tracking number as used
for the package where x =1 and has the same lot identifier
There will need to be a lot identifier (invoice, PO, etc.) designated
in the setup
ERP may send y for „box x of y‟.
The system will not allow x = y + 1.
The system will verify that there are no partial multi pkg
shipments. Count of x < y.
Method 3. (to be developed later, this section not complete)
Consolidation during the finalize process.
Consolidation is done, rates are adjusted (void and reship
automatically?), tracking numbers or BOL numbers are assigned
to lots, etc.
Ongoing consolidation. Prorate subsequent packages going to same
destination.
First package goes at regular single package rate
Second package rate is the difference between the consolidated
first and second package and the rate assigned to the first
package. Same tracking number is used.
Subsequent package rates are the difference between the total
consolidated rate for all packages and the rate previously
assigned to processed packages. Same tracking number is used.
4.0.8 Scale interface
The client PC will optionally have a scale (weight classifier) attached to the
local serial port (i.e. COM1).
The communication parameters are fairly straightforward. When a (capital)
“W” is sent to the scale, it returns the weight and a carriage return. The
format is like this: “ 23.58lb” Note that different makes of scales have
different parameters, but we will use this frmat for the NCI scale we have in
house. Some users may not have a scale attached. In this case, the weight is
entered manually by keyboard.
The business rules are:
When the user is shipping packages and is on the Process Shipment screen
(2.2), they will put a package on the scale. The system will read the weight
from the scale and populate that in the weight field. The scale should be
polled at intervals (maybe every 1-3 seconds) to refresh the screen with the
current weight. Whenever the refresh button is clicked, the current weight is
used to calculate the rate.
39. There should be a checkbox next to the weight field to enable the scale or
use manual weight entry.
When the Ship, Pre-Ship, or Manual Shipment buttons are clicked, the
current weight will be used to calculate the rate. The current weight will then
be written to the shipment table.
If there is an error getting a valid reading from the scale there should be
error messages the user understands. (i.e. Not reading weight., Please make
sure scale in stable.)
Challenges and questions:
Is there a way for java to communicate through the com port?
Will we need to have an application installed on the local PC to
communicate through the com port?
For different scales:
Output from Peripheral Engine to browser should be standard
format
4.0.9 Multi Package Shipments and Package Numbering
The definition of Package is one physical container (usually a box) to be
shipped.
The definition of Shipment is one or more packages shipped together, going
from the same origin to the same destination via the same carrier account
and service.
On the Process Shipment screen there is the line with „# Pkgs: [ ] of [ ]‟.
The first text box is the package number. In this document I will refer to the
package number as „X‟. The second text box is the total number of packages
in the shipment. In this document I will refer to the total number of packages
as „Y‟. The term „lot‟ will be used to describe all the packages in the multi
package shipment.
There will be a check box on the process shipment screen the right or the
pkg # fields with label „multi pkg.‟. By default this is unchecked.
A multi package shipment is a shipment with more than one package
addressed to the same destination that are to be delivered together. Many
carriers give discounts for using multi package shipments over shipping them
individually. For some carriers multi package shipments may share the same
tracking number (or bill of lading number).
On the Shipment Query screen there will be a column with heading multi
pkg. If the record in the query table is associated with a multi package
shipment, there will be a link „multi‟ in this column. Clicking on this link will
show a list of all packages with the same Lot ID (pre, current, or voided
status) in the same format table with title: Multi Package Shipment Lot ID.
40. Business logic:
If the „multi pkg.‟ check box is unchecked, this means that the
shipment (or lot) contains only one package. Therefore, both X and
Y will be read only fields on the process shipment screen and will
both be shown as „1‟. No other actions are needed.
If the „multi pkg.‟ check box is checked, this means that the
shipment is a multi package shipment.
Scenario 1. The user knows total number of packages within
the multi package shipment before shipping any packages in the
shipment. In this case the user would process the packages by
checking the multi pkg. box, following the logic below, and
either clicking on Pre Ship or Ship.
Scenario 2. The user does not know total number of packages.
In this case the user would Pre Ship packages in the lot as „1 of
1‟ shipments (multi pkg. box unchecked). When the user
determines the total number of packages in the lot, they can go
back to the packages in Pre Ship status and check the multi
pkg. box to add the package to a multi package shipment by
following the logic below.
Once the multi pkg. box is checked, the Lot ID field will change
to read only.
Scenario 3. Consolidation is done by ShipGenie to
automatically create lot IDs based on origin, destination
address, carrier, and service. Consolidation is covered in depth
in another document.
The first action when the user checks the „multi pkg.‟ box is to first
validate if there is a value in the Lot ID field on the screen.
If the Lot ID field is blank, the system will give a warning
message: “Multi package shipments must have Lot ID. Please
enter a Lot ID.” The system will not allow the box to be checked
until the Lot ID field has data in it.
If the Lot ID field has data in it, the system will check the
shipment table for a record with current, pre, or void shipment
status AND the same Lot ID AND the multi pkg. box enabled.
If there are not any matching records:
The system will put a „1‟ in the X field and it will be read
only.
The system will enter”??” in the Y field and will be
editable. There are two options for the user:
Option 1: The user leaves the “??” in the Y field.
Entering a 1 in the Y field will have the same effect.
Option 2: The user enters a number greater than 1
before processing the package.
If there is at least one record with a matching Lot ID:
If Option 1 was selected above:
If there are not any current shipments in the lot, the
system will increment the Y value by one unless this
41. package is replacing a voided or deleted package as
described below. The Y value on the process shipment
screen will be read only.
If there are current shipments in the lot, the system
will return the message, “Multi package shipment
contains current shipments. Can not add additional
packages to shipment.” The Multi Package check box
will be unchecked.
If Option 2 was selected above:
The system puts the same Y value for the first
matching record looked up in the Y field on the
process shipment screen and it will be read only.
If the user tries to Ship or Pre Ship a package in a lot
where the lowest X value > Y, the system will
generate a message saying, “You have exceeded the
allotted number of packages in this shipment. Would
you like to allow additional packages to be added to
this shipment?” If the user agrees, the system will
switch to option 1 above. If the user disagrees, the
Multi Pkg checkbox will be unchecked.
The system will also need to use logic to determine the X
value. The X field on the screen will be read only. The X
value depends on how many matching records were
found and what their status is, and whether there have
been any deleted packages in the lot. The system will
assign the lowest X value not used except in the
scenarios below.
Scenario 1. Void and recycle package ID: If a
package in a lot is assigned an X value and
subsequently voided, the system will reserve that X
value (except in following scenarios) for if the package
is unvoided or the same package ID is reentered and
processed as a new shipment. In the latter case The X
value of the original package is inherited by the new
processed package. Note: some sections have been
deleted since the Un-Void feature has been removed
from ShipGenie.
Scenario 2. Void and replace package ID: Similar to
the case above, if the voided package is replaced with
a new package ID, the system will assign the lowest X
value not reserved. If there are no X values <= Y,
then the lowest reserved X value is assigned to the
new package. If the user later attempts to unvoid the
voided package, it will be reassigned the lowest
available X value.
Scenario 3. Void and delete or Pre Ship and delete:
In this case an X value is used and then deleted. The
system will have no record of its use, so the next
42. package in the lot processed will inherit this „lost‟ X
value.
4.0.10 Thermal label printer
The client PC will use a thermal label printer to print shipping labels. This
may be attached to the local serial port (i.e. COM1), the local parallel port
(i.e. LPT1) or a network printer on the client‟s LAN. It may be set up as a
regular windows printer.
The communication parameters are complicated and are covered in the
programming manuals (PDF documents). These are on the Nept-Dev-Win
server. Note that we will be dealing with the Datamax and Zebra printers for
now. Both of these rinters have completely different programming (printing)
languages.
The business rules are:
The user will be shipping packages and will be on the Process Shipment
screen (2.2). They click the Ship button and the system will print a shipping
label. At first we will use one label layout, but will later add a label builder
tool for the admin to create new custom layouts (Enh #56). The label will
have the company name and origin address in the top left corner and the
destination information in larger font in the center of the label. There will be
a horizontal line and other information will be below, such as weight,
package ID, tracking number, invoice number, etc.
Challenges and questions:
How can java send data to the printer without having the user click
on the print button or seeing the label data on the screen.
Will we need to have an application installed on the local PC to
communicate through the com port?
4.0.11 Shipment query:
The user should be able to sort or filter (individual or range) by one or more
of the following:
Origin
Carrier
Date
Package ID
Tracking #
Ship to data (i.e. Company name or zip code)
The user should be able to select what fields to be shown from the shipment
data on the query
Home page: User clicks on Reports and the Reports page shows