NAME
Offline::UPS - Calculates UPS rates from tables.
SPECIAL INFO
Countries that do not have Express Plus:
CA Canada (it is possible to calculate the rate, but you have to call UPS to find out if it is available). NO Norway
METHODS
zone_name()
- For International, it's the name of the country (e.g. 'Canada') - For Domestic, it is the first three of a zip (e.g. '986') - For Canada, it is...?
do_convert_data()
Find all data .csv files and convert them from the vanilla UPS CSV format into one that Business::Shipping can use.
calc_zone_data()
* Modifies the class attribute Zones(), and adds data for the zone like so...
$self->Zones() = ( 'Canada' => { 'zone_data' => [ 'low high service1 service2', '004 005 208 209', '006 010 208 209', 'Canada Canada 504 504', ] } )
determine_keys()
Decides what unique keys will be used to locate the zone record.
* The first key ("key") is a shortened version (the zip code "98682" becomes "986") to locate the zone file and the range that it fits into. * The second key ("raw_key") is the actual key, for looking up the record in the correct zone file once it has been found.
Returns ( $key, $raw_key )
rate_table_exceptions
WorldWide methods use different tables for Canada
calc_cost( )
* Modifies the class attribute $Zones, and adds data for the zone like so...
$Zones => { 'Canada' => { 'zone_data' => [ 'first line of zone file', 'second line', 'etc.', ] } }
special_zone_hi_ak( $type )
$type Type of service.
Hawaii and Alaska have special per-zipcode zone exceptions for 1da/2da.
calc_zone_info()
Determines which zone (zone_name), and which zone file to use for lookup.
determine_coast
If this is an international order, we need to determine which state the shipper is in, then if it is east or west coast. If west, then use the first "Express" field in the zone chart. If east, then use the second.
_massage_values()
Performs some final value modification just before the submit.
GLOSSARY
EAS Extended Area Surcharge (EAS)
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 1126:
You forgot a '=back' before '=head1'