Jump to content

Kazsil

Members
  • Content count

    21
  • Joined

  • Last visited

Profile Information

  • Real Name
    Jenn
  • Gender
    Female
  1. Kazsil

    SiteMonitor

    I know it's odd, but we are hosting another site on ours and that is how our provider set it up. Is there something I can try to tell it not to delete it? Thanks for your help on a great contrib! Jen
  2. Kazsil

    SiteMonitor

    I am very excited to use this contrib! Thanks for all you do! I have just installed SiteMonitor 2.8 on my OSC RC2. I know it's brand new and just came out 4 days ago, so maybe that's my problem. I installed/updated files according to the readme instructions without any trouble. But when I come to Configuration I have a glitch. I can't seem to keep my Start Directory intact. It keeps chopping off the last letter. when I put in /home/users/web/b2716/moo.xxxxxxxxx/apt// I then update the page and I get this error: Warning: opendir(/home/users/web/b2716/moo.xxxxxxxxx/ap/) [function.opendir]: failed to open dir: No such file or directory in /hermes/web06/b2716/moo.xxxxxxxxx/apt/admin/includes/functions/sitemonitor_functions.php on line 425 See how it chops off the t in opendir? it should be apt/ not ap/ And yes, I have checked and rechecked to make sure that the file is indeed there.! And it has to be that as the Start Directory, because if I put anything else in there I get a popup saying Setup Error!!! The start directory: me/users/web/b2716/moo.xxxxxxxx/apt// does not match the shops directory: /home/users/web/b2716/moo.xxxxxxxxx/apt// I am just stuck.... at first I thought it was just too long so I look throught the code and found that the maxlength is 250. So I just dont know what to do! Thanks for your help!! Jen
  3. Kazsil

    USPS rates with dimensions?

    Ok! I have made it so the USPS works with "UPSxml with Dimensional Support"! You will need to install this first: http://www.oscommerce.com/community/contributions,1323 Install the dimensional Support also which is included in the add-on. Then you will need to change your includes/modules/shipping/USPS.php file to this: <?php /* $Id: usps.php 1783 2008-01-10 01:16:16Z hpdl $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2008 osCommerce Released under the GNU General Public License */ // Incorporate the XML conversion library if (PHP_VERSION >= '5.0.0') { // PHP 5 does not need to use call-time pass by reference require_once (DIR_WS_CLASSES . 'xml_5.php'); } else { require_once (DIR_WS_CLASSES . 'xml.php'); } class usps { var $code, $title, $description, $icon, $enabled, $countries, $types, $boxcount; // class constructor function usps() { global $order, $packing; $this->code = 'usps'; $this->items_qty = 0; $this->title = MODULE_SHIPPING_USPS_TEXT_TITLE; $this->description = MODULE_SHIPPING_USPS_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_USPS_SORT_ORDER; $this->icon = DIR_WS_ICONS . 'shipping_usps.gif'; $this->tax_class = MODULE_SHIPPING_USPS_TAX_CLASS; $this->enabled = ((MODULE_SHIPPING_USPS_STATUS == 'True') ? true : false); // the variables for unit weight, unit length, and dimensions support were moved to // shop admin -> Configuration -> Shipping/Packaging in // version 1.3.0. Run the configuration_shipping.sql to add these to your configuration if (defined('SHIPPING_UNIT_WEIGHT')) { $this->unit_weight = SHIPPING_UNIT_WEIGHT; } else { // for those who will undoubtedly forget or not know how to run the configuration_shipping.sql // we will set the default to pounds (LBS) and inches (IN) $this->unit_weight = 'LBS'; } if (defined('SHIPPING_UNIT_LENGTH')) { $this->unit_length = SHIPPING_UNIT_LENGTH; } else { $this->unit_length = 'IN'; } if (defined('SHIPPING_DIMENSIONS_SUPPORT') && SHIPPING_DIMENSIONS_SUPPORT == 'Ready-to-ship only') { $this->dimensions_support = 1; } elseif (defined('SHIPPING_DIMENSIONS_SUPPORT') && SHIPPING_DIMENSIONS_SUPPORT == 'With product dimensions') { $this->dimensions_support = 2; } else { $this->dimensions_support = 0; } if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_USPS_ZONE > 0) ) { $check_flag = false; $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_USPS_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = tep_db_fetch_array($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } $this->types = explode( ", ", MODULE_SHIPPING_USPS_TYPES); /* $this->types = array( // Domestic Types 'Express Mail', 'Express Mail Flat Rate Envelope', 'Priority Mail', 'Priority Mail Flat Rate Envelope', 'Priority Mail Small Flat Rate Box', 'Priority Mail Medium Flat Rate Box', 'Priority Mail Large Flat Rate Box', 'First-Class Mail Flat', 'First-Class Mail Parcel', 'Parcel Post', 'Bound Printed Matter', 'Media Mail', 'Library Mail', // International Types 'Global Express Guaranteed (GXG)', 'Global Express Guaranteed Non-Document Rectangular', 'Global Express Guaranteed Non-Document Non-Rectangular', 'USPS GXG Envelopes', 'Express Mail International', 'Express Mail International Flat Rate Envelope', 'Priority Mail International', 'Priority Mail International Large Flat Rate Box', 'Priority Mail International Medium Flat Rate Box', 'Priority Mail International Small Flat Rate Box', 'Priority Mail International Flat Rate Envelope', 'First-Class Mail International Package', 'First-Class Mail International Large Envelope' ); */ $this->countries = $this->country_list(); }//end function // class methods function quote($method = '') { global $order, $shipping_weight, $shipping_num_boxes, $total_weight, $boxcount, $cart, $packing; // $methodsSelected = explode( ", ", MODULE_SHIPPING_USPS_TYPES); // the check on $packing being an object will puzzle people who do things wrong (no changes when // you enable dimensional support without changing checkout_shipping.php) but better be safe if ($this->dimensions_support > 0 && is_object($packing)) { $boxValue = 0; $totalWeight = $packing->getTotalWeight(); $boxesToShip = $packing->getPackedBoxes(); for ($i = 0; $i < count($boxesToShip); $i++) { $this->_addItem($boxesToShip[$i]['item_length'], $boxesToShip[$i]['item_width'], $boxesToShip[$i]['item_height'], $boxesToShip[$i]['item_weight'], $boxesToShip[$i]['item_price']); } // end for ($i = 0; $i < count($boxesToShip); $i++) } else { // The old method. Let osCommerce tell us how many boxes, plus the weight of each (or total? - might be sw/num boxes) $this->items_qty = 0; //reset quantities // $this->pkgvalue has been set as order subtotal around line 108, it will cause overcharging // of insurance if not divided by the number of boxes for ($i = 0; $i < $shipping_num_boxes; $i++) { $this->_addItem(0, 0, 0, $shipping_weight, number_format(($this->pkgvalue/$shipping_num_boxes), 2, '.', '')); } } if ( tep_not_null($method) && in_array($method, $this->types)) { // if ( tep_not_null($method) && in_array($method, $methodsSelected)) { $this->_setService($method); } $this->_setMachinable('False'); $this->_setContainer('None'); $this->_setSize('REGULAR'); // usps doesnt accept zero weight /* $shipping_weight = ($shipping_weight < 0.1 ? 0.1 : $shipping_weight); $shipping_pounds = floor ($shipping_weight); $shipping_ounces = round(16 * ($shipping_weight - floor($shipping_weight))); $this->_setWeight($shipping_pounds, $shipping_ounces); */ $uspsQuote = $this->_getQuote(); //usort($uspsQuote, array($this, "rate_sort_func")); echo '<pre>Packages and variables:<br />'; print_r($uspsQuote); echo '<br />'; if (is_array($uspsQuote)) { if (isset($uspsQuote['error'])) { $this->quotes = array('module' => $this->title, 'error' => $uspsQuote['error']); } else { $this->quotes = array('id' => $this->code, 'module' => $this->title . ' (' . count($boxesToShip) . ' pkgs with ' . $shipping_weight . ' lbs total)'); $methods = array(); $typeArray= array(); $size = sizeof($uspsQuote); for ($i=0; $i<$size; $i++) { list($type, $cost) = each($uspsQuote[$i]); if (array_key_exists($type, $typeArray)){ extract($typeArray); $cost2= $typeArray[$type] + $cost; $typeArray[$type] = $cost2; }else{ //$costTotal = $cost; $typeArray[$type]=$cost; }// end if }//end for loop asort($typeArray); // Sorts the quotes in asc order foreach ($typeArray as $key => $value) { if (($method == '' && in_array($key, $this->types)) || $method == $key) { $methods[] = array('id' => $key, 'title' => $key, 'cost' => ($value + MODULE_SHIPPING_USPS_HANDLING) ); }//end if }//end foreach $this->quotes['methods'] = $methods; if ($this->tax_class > 0) { $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } } } else { $this->quotes = array('module' => $this->title, 'error' => MODULE_SHIPPING_USPS_TEXT_ERROR); //print $this->quotes['error']; } if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title); return $this->quotes; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_USPS_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable USPS Shipping', 'MODULE_SHIPPING_USPS_STATUS', 'False', 'Do you want to offer USPS shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Enter the USPS User ID', 'MODULE_SHIPPING_USPS_USERID', 'NONE', 'Enter the USPS USERID assigned to you.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Enter the USPS Password', 'MODULE_SHIPPING_USPS_PASSWORD', 'NONE', 'See USERID, above.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Handling Fee', 'MODULE_SHIPPING_USPS_HANDLING', '0', 'Handling fee for this shipping method.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_SHIPPING_USPS_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Shipping Zone', 'MODULE_SHIPPING_USPS_ZONE', '0', 'If a zone is selected, only enable this shipping method for that zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_USPS_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Shipping Methods', 'MODULE_SHIPPING_USPS_TYPES', 'Express Mail, Express Mail Flat Rate Envelope, Priority Mail, Priority Mail Flat Rate Envelope, Priority Mail Small Flat Rate Box, Priority Mail Medium Flat Rate Box, Priority Mail Large Flat Rate Box, First-Class Mail Flat, First-Class Mail Parcel, Parcel Post, Bound Printed Matter, Media Mail, Library Mail, Global Express Guaranteed (GXG), Global Express Guaranteed Non-Document Rectangular, Global Express Guaranteed Non-Document Non-Rectangular, USPS GXG Envelopes,Express Mail International, Express Mail International Flat Rate Envelope, Priority Mail International, Priority Mail International Large Flat Rate Box, Priority Mail International Medium Flat Rate Box,Priority Mail International Small Flat Rate Box, Priority Mail International Flat Rate Envelope, First-Class Mail International Package, First-Class Mail International Large Envelope', 'Select the services to be offered:', '6', '0', 'tep_cfg_select_multioption(array(\'Express Mail\', \'Express Mail Flat Rate Envelope\', \'Priority Mail\', \'Priority Mail Flat Rate Envelope\', \'Priority Mail Small Flat Rate Box\', \'Priority Mail Medium Flat Rate Box\', \'Priority Mail Large Flat Rate Box\',\'First-Class Mail Flat\', \'First-Class Mail Parcel\', \'Parcel Post\', \'Bound Printed Matter\', \'Media Mail\', \'Library Mail\', \'Global Express Guaranteed (GXG)\', \'Global Express Guaranteed Non-Document Rectangular\',\'Global Express Guaranteed Non-Document Non-Rectangular\', \'USPS GXG Envelopes\', \'Express Mail International\', \'Express Mail International Flat Rate Envelope\', \'Priority Mail International\', \'Priority Mail International Large Flat Rate Box\',\'Priority Mail International Medium Flat Rate Box\', \'Priority Mail International Small Flat Rate Box\', \'Priority Mail International Flat Rate Envelope\', \'First-Class Mail International Package\', \'First-Class Mail International Large Envelope\'), ', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_SHIPPING_USPS_STATUS', 'MODULE_SHIPPING_USPS_USERID', 'MODULE_SHIPPING_USPS_PASSWORD', 'MODULE_SHIPPING_USPS_HANDLING', 'MODULE_SHIPPING_USPS_TAX_CLASS', 'MODULE_SHIPPING_USPS_ZONE', 'MODULE_SHIPPING_USPS_SORT_ORDER', 'MODULE_SHIPPING_USPS_TYPES'); } function _setService($service) { $this->service = $service; } function _setWeight($pounds, $ounces=0) { $this->pounds = $pounds; $this->ounces = $ounces; } function _setContainer($container) { $this->container = $container; } function _setSize($size) { $this->size = $size; } function _setMachinable($machinable) { $this->machinable = $machinable; } function _addItem($length, $width, $height, $weight, $price = 0 ) { // Add box or item to shipment list. Round weights to 1 decimal places. if ((float)$weight < 1.0) { $weight = 1; } else { $weight = round($weight, 1); } $index = $this->items_qty; $this->item_length[$index] = ($length ? (string)$length : '0' ); $this->item_width[$index] = ($width ? (string)$width : '0' ); $this->item_height[$index] = ($height ? (string)$height : '0' ); $this->item_weight[$index] = ($weight ? (string)$weight : '0' ); $this->item_price[$index] = $price; $this->items_qty++; //print '<BR><BR> '. $this->item_weight[$index] . ' prince' . $this->item_price[$index] .' index = '. $index .'<BR><BR>'; } function _getQuote() { global $order; if ($order->delivery['country']['id'] == SHIPPING_ORIGIN_COUNTRY) { $request = '<RateV3Request USERID="' . MODULE_SHIPPING_USPS_USERID . '">' ; $dest_zip = str_replace(' ', '', $order->delivery['postcode']); if ($order->delivery['country']['iso_code_2'] == 'US') $dest_zip = substr($dest_zip, 0, 5); $numgroups = ceil($this->items_qty / 50); // UPS can only process 50 packages at once $xmlResult = ''; for ($g = 0; $g < $numgroups; $g++) { // process each group of packages $ratingServiceSelectionRequestPackageContent = ''; $start = 0; $end = ($g + 1 == $numgroups) ? $this->items_qty : $start + 50; // if last group end with number of packages otherwise do 50 more for ($i = $start; $i < $end; $i++) { $request .='<Package ID="'.$i.'">' . '<Service>'. 'ALL' .'</Service>' . '<ZipOrigination>'. SHIPPING_ORIGIN_ZIP . '</ZipOrigination>' . '<ZipDestination>'. $dest_zip .'</ZipDestination>' . '<Pounds>'. $this->item_weight[$i] .'</Pounds>' . '<Ounces>0</Ounces>' . '<Container/><Size>Regular</Size><Machinable>True</Machinable>' . '</Package>'; //print "<BR> $request <BR>"; } /* else { $request .= '<IntlRateRequest USERID="' . MODULE_SHIPPING_USPS_USERID . '">' . '<Package ID="0">' . '<Pounds>' . $this->item_weight . '</Pounds>' . '<Ounces>0</Ounces>' . '<MailType>Package</MailType>' . '<GXG>' . '<Length>12</Length><Width>12</Width><Height>12</Height>' . '<POBoxFlag>N</POBoxFlag><GiftFlag>N</GiftFlag>' . '</GXG>' . '<ValueOfContents>50</ValueOfContents>' . '<Country>' . $this->countries[$order->delivery['country']['iso_code_2']] . '</Country>' . '</Package>' . '</IntlRateRequest>'; $request .= 'API=IntlRate&XML=' . urlencode($request); } */ }//end for i }//end for $numgroups $request .= '</RateV3Request>'; $requestNew = 'API=RateV3&XML=' . urlencode($request); //print '<BR><BR>'. htmlspecialchars(urldecode($requestNew)); // exit; $body = ''; if (!class_exists('httpClient')) { include('includes/classes/http_client.php'); } $http = new httpClient(); if ($http->Connect('production.shippingapis.com', 80)) { $http->addHeader('Host', 'production.shippingapis.com'); $http->addHeader('User-Agent', 'osCommerce'); $http->addHeader('Connection', 'Close'); if ($http->Get('/shippingapi.dll?' . $requestNew)) $body = $http->getBody(); $http->Disconnect(); } else { return false; } $response = array(); while (true) { if ($start = strpos($body, '<Package ID=')) { $body = substr($body, $start); $end = strpos($body, '</Package>'); $response[] = substr($body, 0, $end+10); $body = substr($body, $end+9); //print "Worked<BR><BR>"; } else { //print "NO work!<BR><BR>"; break; } } $rates = array(); if ($order->delivery['country']['id'] == SHIPPING_ORIGIN_COUNTRY) { if (sizeof($response) == '1') { if (ereg('<Error>', $response[0])) { $number = ereg('<Number>(.*)</Number>', $response[0], $regs); $number = $regs[1]; $description = ereg('<Description>(.*)</Description>', $response[0], $regs); $description = $regs[1]; return array('error' => $number . ' - ' . $description); } } $n = sizeof($response); for ($i=0; $i<$n; $i++) { $resp = $response[$i]; $pos = 0; while (1) { $pos = strpos($response[$i], '<Postage', $pos); if ($pos === FALSE) break; $end = strpos($response[$i], '</Postage>', $pos); if ($end === FALSE) break; $resp = substr($response[$i], $pos, $end-$pos); $service = ereg('<MailService>(.*)</MailService>', $resp, $regs); $service = $regs[1]; $postage = ereg('<Rate>(.*)</Rate>', $resp, $regs); $postage = $regs[1]; $pos = $end; $rates[] = array($service => $postage); } } } else { if (ereg('<Error>', $response[0])) { $number = ereg('<Number>(.*)</Number>', $response[0], $regs); $number = $regs[1]; $description = ereg('<Description>(.*)</Description>', $response[0], $regs); $description = $regs[1]; return array('error' => $number . ' - ' . $description); } else { $body = $response[0]; $services = array(); while (true) { if ($start = strpos($body, '<Service ID=')) { $body = substr($body, $start); $end = strpos($body, '</Service>'); $services[] = substr($body, 0, $end+10); $body = substr($body, $end+9); } else { break; } } $size = sizeof($services); for ($i=0, $n=$size; $i<$n; $i++) { if (strpos($services[$i], '<Postage>')) { $service = ereg('<SvcDescription>(.*)</SvcDescription>', $services[$i], $regs); $service = $regs[1]; $postage = ereg('<Postage>(.*)</Postage>', $services[$i], $regs); $postage = $regs[1]; # if (isset($this->service) && ($service != $this->service) ) { # continue; # } $rates[] = array($service => $postage); } } } } return ((sizeof($rates) > 0) ? $rates : false); } function country_list() { $list = array('AF' => 'Afghanistan', 'AL' => 'Albania', 'DZ' => 'Algeria', 'AD' => 'Andorra', 'AO' => 'Angola', 'AI' => 'Anguilla', 'AG' => 'Antigua and Barbuda', 'AR' => 'Argentina', 'AM' => 'Armenia', 'AW' => 'Aruba', 'AU' => 'Australia', 'AT' => 'Austria', 'AZ' => 'Azerbaijan', 'BS' => 'Bahamas', 'BH' => 'Bahrain', 'BD' => 'Bangladesh', 'BB' => 'Barbados', 'BY' => 'Belarus', 'BE' => 'Belgium', 'BZ' => 'Belize', 'BJ' => 'Benin', 'BM' => 'Bermuda', 'BT' => 'Bhutan', 'BO' => 'Bolivia', 'BA' => 'Bosnia-Herzegovina', 'BW' => 'Botswana', 'BR' => 'Brazil', 'VG' => 'British Virgin Islands', 'BN' => 'Brunei Darussalam', 'BG' => 'Bulgaria', 'BF' => 'Burkina Faso', 'MM' => 'Burma', 'BI' => 'Burundi', 'KH' => 'Cambodia', 'CM' => 'Cameroon', 'CA' => 'Canada', 'CV' => 'Cape Verde', 'KY' => 'Cayman Islands', 'CF' => 'Central African Republic', 'TD' => 'Chad', 'CL' => 'Chile', 'CN' => 'China', 'CX' => 'Christmas Island (Australia)', 'CC' => 'Cocos Island (Australia)', 'CO' => 'Colombia', 'KM' => 'Comoros', 'CG' => 'Congo (Brazzaville),Republic of the', 'ZR' => 'Congo, Democratic Republic of the', 'CK' => 'Cook Islands (New Zealand)', 'CR' => 'Costa Rica', 'CI' => 'Cote d\'Ivoire (Ivory Coast)', 'HR' => 'Croatia', 'CU' => 'Cuba', 'CY' => 'Cyprus', 'CZ' => 'Czech Republic', 'DK' => 'Denmark', 'DJ' => 'Djibouti', 'DM' => 'Dominica', 'DO' => 'Dominican Republic', 'TP' => 'East Timor (Indonesia)', 'EC' => 'Ecuador', 'EG' => 'Egypt', 'SV' => 'El Salvador', 'GQ' => 'Equatorial Guinea', 'ER' => 'Eritrea', 'EE' => 'Estonia', 'ET' => 'Ethiopia', 'FK' => 'Falkland Islands', 'FO' => 'Faroe Islands', 'FJ' => 'Fiji', 'FI' => 'Finland', 'FR' => 'France', 'GF' => 'French Guiana', 'PF' => 'French Polynesia', 'GA' => 'Gabon', 'GM' => 'Gambia', 'GE' => 'Georgia, Republic of', 'DE' => 'Germany', 'GH' => 'Ghana', 'GI' => 'Gibraltar', 'GB' => 'Great Britain and Northern Ireland', 'GR' => 'Greece', 'GL' => 'Greenland', 'GD' => 'Grenada', 'GP' => 'Guadeloupe', 'GT' => 'Guatemala', 'GN' => 'Guinea', 'GW' => 'Guinea-Bissau', 'GY' => 'Guyana', 'HT' => 'Haiti', 'HN' => 'Honduras', 'HK' => 'Hong Kong', 'HU' => 'Hungary', 'IS' => 'Iceland', 'IN' => 'India', 'ID' => 'Indonesia', 'IR' => 'Iran', 'IQ' => 'Iraq', 'IE' => 'Ireland', 'IL' => 'Israel', 'IT' => 'Italy', 'JM' => 'Jamaica', 'JP' => 'Japan', 'JO' => 'Jordan', 'KZ' => 'Kazakhstan', 'KE' => 'Kenya', 'KI' => 'Kiribati', 'KW' => 'Kuwait', 'KG' => 'Kyrgyzstan', 'LA' => 'Laos', 'LV' => 'Latvia', 'LB' => 'Lebanon', 'LS' => 'Lesotho', 'LR' => 'Liberia', 'LY' => 'Libya', 'LI' => 'Liechtenstein', 'LT' => 'Lithuania', 'LU' => 'Luxembourg', 'MO' => 'Macao', 'MK' => 'Macedonia, Republic of', 'MG' => 'Madagascar', 'MW' => 'Malawi', 'MY' => 'Malaysia', 'MV' => 'Maldives', 'ML' => 'Mali', 'MT' => 'Malta', 'MQ' => 'Martinique', 'MR' => 'Mauritania', 'MU' => 'Mauritius', 'YT' => 'Mayotte (France)', 'MX' => 'Mexico', 'MD' => 'Moldova', 'MC' => 'Monaco (France)', 'MN' => 'Mongolia', 'MS' => 'Montserrat', 'MA' => 'Morocco', 'MZ' => 'Mozambique', 'NA' => 'Namibia', 'NR' => 'Nauru', 'NP' => 'Nepal', 'NL' => 'Netherlands', 'AN' => 'Netherlands Antilles', 'NC' => 'New Caledonia', 'NZ' => 'New Zealand', 'NI' => 'Nicaragua', 'NE' => 'Niger', 'NG' => 'Nigeria', 'KP' => 'North Korea (Korea, Democratic People\'s Republic of)', 'NO' => 'Norway', 'OM' => 'Oman', 'PK' => 'Pakistan', 'PA' => 'Panama', 'PG' => 'Papua New Guinea', 'PY' => 'Paraguay', 'PE' => 'Peru', 'PH' => 'Philippines', 'PN' => 'Pitcairn Island', 'PL' => 'Poland', 'PT' => 'Portugal', 'QA' => 'Qatar', 'RE' => 'Reunion', 'RO' => 'Romania', 'RU' => 'Russia', 'RW' => 'Rwanda', 'SH' => 'Saint Helena', 'KN' => 'Saint Kitts (St. Christopher and Nevis)', 'LC' => 'Saint Lucia', 'PM' => 'Saint Pierre and Miquelon', 'VC' => 'Saint Vincent and the Grenadines', 'SM' => 'San Marino', 'ST' => 'Sao Tome and Principe', 'SA' => 'Saudi Arabia', 'SN' => 'Senegal', 'YU' => 'Serbia-Montenegro', 'SC' => 'Seychelles', 'SL' => 'Sierra Leone', 'SG' => 'Singapore', 'SK' => 'Slovak Republic', 'SI' => 'Slovenia', 'SB' => 'Solomon Islands', 'SO' => 'Somalia', 'ZA' => 'South Africa', 'GS' => 'South Georgia (Falkland Islands)', 'KR' => 'South Korea (Korea, Republic of)', 'ES' => 'Spain', 'LK' => 'Sri Lanka', 'SD' => 'Sudan', 'SR' => 'Suriname', 'SZ' => 'Swaziland', 'SE' => 'Sweden', 'CH' => 'Switzerland', 'SY' => 'Syrian Arab Republic', 'TW' => 'Taiwan', 'TJ' => 'Tajikistan', 'TZ' => 'Tanzania', 'TH' => 'Thailand', 'TG' => 'Togo', 'TK' => 'Tokelau (Union) Group (Western Samoa)', 'TO' => 'Tonga', 'TT' => 'Trinidad and Tobago', 'TN' => 'Tunisia', 'TR' => 'Turkey', 'TM' => 'Turkmenistan', 'TC' => 'Turks and Caicos Islands', 'TV' => 'Tuvalu', 'UG' => 'Uganda', 'UA' => 'Ukraine', 'AE' => 'United Arab Emirates', 'UY' => 'Uruguay', 'UZ' => 'Uzbekistan', 'VU' => 'Vanuatu', 'VA' => 'Vatican City', 'VE' => 'Venezuela', 'VN' => 'Vietnam', 'WF' => 'Wallis and Futuna Islands', 'WS' => 'Western Samoa', 'YE' => 'Yemen', 'ZM' => 'Zambia', 'ZW' => 'Zimbabwe'); return $list; } } ?> The main changes were with Function _GetQuote() which changed the call to USPS and Function quote which processed the data returned from USPS into the options for the user. Hope this helps someone! Jen
  4. Kazsil

    USPS rates with dimensions?

    I have got it almost working... I can call USPS using the dimensional support and it returns the values of all the boxes correctly. Problem I am having is right now it list a rate for each box instead of combining the prices. So The user right now will see this: United States Postal Service (3 pkgs with 21 lbs total) United States Postal Service Express Mail $31.00 Priority Mail $10.90 Parcel Post $9.18 Express Mail $31.00 Priority Mail $10.90 Parcel Post $9.18 Express Mail $15.70 Priority Mail $4.90 Parcel Post $4.90 So I have it working that it does indeed quote each package prices, but I need to be able to show one price per service type. Any Idea how to do that?? I think there needs to be a loop somewhere that combines the arrays. This is where I think it might need to go in the code. $uspsQuote = $this->_getQuote(); //echo '<pre>Packages and variables:<br />'; // print_r($uspsQuote); //echo '<br />'; if (is_array($uspsQuote)) { if (isset($uspsQuote['error'])) { $this->quotes = array('module' => $this->title, 'error' => $uspsQuote['error']); } else { $this->quotes = array('id' => $this->code, 'module' => $this->title . ' (' . count($boxesToShip) . ' pkgs with ' . $shipping_weight . ' lbs total)'); $methods = array(); $size = sizeof($uspsQuote); for ($i=0; $i<$size; $i++) { list($type, $cost) = each($uspsQuote[$i]); //echo "USPS $type @ $cost<br>"; if (($method == '' && in_array($type, $this->types)) || $method == $type) { if (strpos($type, "Flat Rate")) $type_flat = $type . ', subject to verification'; else $type_flat = $type; $methods[] = array('id' => $type, 'title' => $type_flat, 'cost' => ($cost + MODULE_SHIPPING_USPS_HANDLING) ); } } $this->quotes['methods'] = $methods; if ($this->tax_class > 0) { $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } } } else { $this->quotes = array('module' => $this->title, 'error' => MODULE_SHIPPING_USPS_TEXT_ERROR); } if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title); return $this->quotes; I just cant figure out what to do to combine them into one price per service. Any help would be greatly appreciate!! Jen
  5. Kazsil

    USPS rates with dimensions?

    In case anyone stumbles upon this issue with the UPS dimensional weight being wrong, I posted the solution here I will be attempting the USPS dimensional shipping now and will post my progress in case anyone needs it in the future. Jen
  6. Kazsil

    New UPS XML Shipping Module available

    I just figured it out... I had to use UPS' advanced shipping calculation for dimensional weight to get it to respond with the 9 issue. I was getting 9lbs because even though my actual weight was 2lbs, the package dimensional weight 12x12x12/194=8.9 which UPS rounds to 9. That is why only the air rates were affected! Straight from UPS site: Calculating Dimensional Weight for Domestic Shipments If you have more than one package to be shipped, consider each package a separate shipment for weight calculation purposes. Determine the Actual Weight: Use any standard scale and round up any fraction of a pound to the next full pound. Determine Dimensional Weight: Dimensional Weight of package = (LxWxH)/194 * For UPS Ground Shipments: If the cubic size of the package is 5,184 or larger, divide the cubic size by 194 to determine dimensional weight in pounds. If the cubic size is less than 5,184, use the actual weight of the package. * For UPS Air Shipments: Divide the cubic size by 194 to determine dimensional weight in pounds. Any fraction of a pound will be calculated at the next highest rate. Determine Billable Weight: Compare each packages actual weight to its dimensional weight. The larger of the two weights is the billable weight and should be used to calculate the rate. If you have a multiple-package shipment, add the cubic sizes for all of the packages together. The total is the cubic size of your shipment. Hopefully this will help someone else that might be wondering why the billed weight is different! Thanks for all you do JanZ! Jen
  7. Kazsil

    New UPS XML Shipping Module available

    OK! Some interesting data..... It seems that this 9 multiplier only applies when the item is NOT "ready to ship" and below 9 lbs. If the item is below 9lbs but is marked as Ready to Ship, then the weight is correct on all ship options. If it is less than 9 but needs to be boxed, then it defaults the weight to 9lbs. If it is 10+ OR marked as Ready to Ship then it uses the correct weight on all ship options. There has to be something going on in maybe an if/else related to the ready to ship. Maybe? my UPS settings Enable UPS Shipping True UPS Rates Access Key Removed UPS Rates Username Removed UPS Rates Password Removed Pickup Method Suggested Retail Rates (UPS Store) Packaging Type Package Customer Classification Code 04 Shipping Origin US Origin Origin City Indianapolis Origin State/Province IN Origin Country US Origin Zip/Postal Code 46218 Test or Production Mode Production Quote Type Residential Negotiated rates False UPS Account Number Manual Negotiated Rate Handling Type Percentage Handling Fee 0 Enable Insurance False UPS Currency Code USD Tax Class --none-- Shipping Zone --none-- Sort order of display. 1 Disallowed Shipping Methods Worldwide Express, Worldwide Express Plus, Worldwide Expedited, Expedited Shipping Delay 0.5 Email UPS errors Yes Time in Transit View Type Raw Display Weight True My boxes in tools->Packaging Name Description Length Width Height EmptyWeight MaximumWeight Cost Action Test2 Small Box 12.00 12.00 12.00 0.00 50.00 1 Info Test4 test 8.00 8.00 8.00 0.00 50.00 1 TestBox2Widget Holder 20.00 20.00 12.00 0.00 50.00 2 Info Test Medium Box 24.00 24.00 24.00 0.00 50.00 3 Info Thought this might help debug. Thanks JanZ! Jen
  8. Kazsil

    New UPS XML Shipping Module available

    Thank you for your help. Something to point out... Ground is the only rate that is correct. Here is the rates given by UPS on the above xml: United Parcel Service (1 pkg, 2 lbs total) United Parcel Service UPS Ground (billed dimensional weight 2 LBS), 2010-10-28 $10.02 UPS 3 Day Select (billed dimensional weight 9 LBS) $16.09 UPS 2nd Day Air (billed dimensional weight 9 LBS) $20.74 UPS Next Day Air Saver (billed dimensional weight 9 LBS), 2010-10-28 $32.99 UPS Next Day Air (billed dimensional weight 9 LBS), 2010-10-28 $37.48 UPS Next Day Air Early A.M. (billed dimensional weight 9 LBS), 2010-10-28 $70.96 Notice that Ground is correct in weight of 2LBS. All the other service types automatically go to 9LBS. And not just on this order. Any combination will create the weight of 9 x the number of boxes. And it is always a multiple of 9! I installed UPSXML v 1.3.9 and the dimensional_support. Again thank you for all your help! Jen
  9. Kazsil

    New UPS XML Shipping Module available

    My apologies, I thought that was sending a message directly to you. :blush: I went back and tried setting the package max weight to 50 and that did not fix it. Here is the xml response from UPS (I think, if i did it right by using the code at the top of shipping/upsxml.php) It is really long but you can notice that it has different monetary values for about 4 boxes, even thought I am only sending 1 box 2lbs. I hope this is what you were wanting to see: https://www.ups.com:443/ups.app/xml/Rate UPS REQUEST using exec(): <?xml version="1.0"?> <AccessRequest xml:lang="en-US"> <AccessLicenseNumber>REMOVED</AccessLicenseNumber> <UserId>REMOVED</UserId> <Password>REMOVED</Password> </AccessRequest> <?xml version="1.0"?> <RatingServiceSelectionRequest xml:lang="en-US"> <Request> <TransactionReference> <CustomerContext>Rating and Service</CustomerContext> <XpciVersion>1.0001</XpciVersion> </TransactionReference> <RequestAction>Rate</RequestAction> <RequestOption>shop</RequestOption> </Request> <PickupType> <Code>11</Code> </PickupType> <Shipment> <Shipper> <Address> <City>Indianapolis</City> <StateProvinceCode>IN</StateProvinceCode> <CountryCode>US</CountryCode> <PostalCode>46218</PostalCode> </Address> </Shipper> <ShipTo> <Address> <City>Carmel</City> <StateProvinceCode>IN</StateProvinceCode> <CountryCode>US</CountryCode> <PostalCode>46033</PostalCode> <ResidentialAddressIndicator/> </Address> </ShipTo> <Package> <PackagingType> <Code>02</Code> </PackagingType> <Dimensions> <UnitOfMeasurement> <Code>IN</Code> </UnitOfMeasurement> <Length>12.00</Length> <Width>12.00</Width> <Height>12.00</Height> </Dimensions> <PackageWeight> <UnitOfMeasurement> <Code>LBS</Code> </UnitOfMeasurement> <Weight>2</Weight> </PackageWeight> </Package> </Shipment> <CustomerClassification> <Code>04</Code> </CustomerClassification> </RatingServiceSelectionRequest> ------------------------------------------ DATE AND TIME: 2010-10-27 11:32:00 UPS URL: https://www.ups.com:443/ups.app/xml/TimeInTransit UPS REQUEST using exec(): <?xml version="1.0"?> <AccessRequest xml:lang="en-US"> <AccessLicenseNumber>REMOVED</AccessLicenseNumber> <UserId>REMOVED</UserId> <Password>REMOVED</Password> </AccessRequest> <?xml version="1.0"?> <TimeInTransitRequest xml:lang="en-US"> <Request> <TransactionReference> <CustomerContext>Time in Transit</CustomerContext> <XpciVersion>1.0002</XpciVersion> </TransactionReference> <RequestAction>TimeInTransit</RequestAction> </Request> <TransitFrom> <AddressArtifactFormat> <PoliticalDivision2>Indianapolis</PoliticalDivision2> <PoliticalDivision1>IN</PoliticalDivision1> <CountryCode>US</CountryCode> <PostcodePrimaryLow>46218</PostcodePrimaryLow> </AddressArtifactFormat> </TransitFrom> <TransitTo> <AddressArtifactFormat> <PoliticalDivision2>Carmel</PoliticalDivision2> <PoliticalDivision1>IN</PoliticalDivision1> <CountryCode>US</CountryCode> <PostcodePrimaryLow>46033</PostcodePrimaryLow> <PostcodePrimaryHigh>46033</PostcodePrimaryHigh> </AddressArtifactFormat> </TransitTo> <ShipmentWeight> <UnitOfMeasurement> <Code>LBS</Code> </UnitOfMeasurement> <Weight>2</Weight> </ShipmentWeight> <InvoiceLineTotal> <CurrencyCode>USD</CurrencyCode> <MonetaryValue>6</MonetaryValue> </InvoiceLineTotal> <PickupDate>20101027</PickupDate> </TimeInTransitRequest> UPS RESPONSE using exec(): <?xml version="1.0"?><TimeInTransitResponse><Response><TransactionReference><CustomerContext>Time in Transit</CustomerContext><XpciVersion>1.0002</XpciVersion></TransactionReference><ResponseStatusCode>1</ResponseStatusCode><ResponseStatusDescription>Success</ResponseStatusDescription></Response><TransitResponse><PickupDate>2010-10-27</PickupDate><TransitFrom><AddressArtifactFormat><PoliticalDivision2>INDIANAPOLIS</PoliticalDivision2><PoliticalDivision1>IN</PoliticalDivision1><Country>UNITED STATES</Country><CountryCode>US</CountryCode><PostcodePrimaryLow>46218</PostcodePrimaryLow></AddressArtifactFormat></TransitFrom><TransitTo><AddressArtifactFormat><PoliticalDivision2>CARMEL</PoliticalDivision2><PoliticalDivision1>IN</PoliticalDivision1><Country>UNITED STATES</Country><CountryCode>US</CountryCode><PostcodePrimaryLow>46033</PostcodePrimaryLow></AddressArtifactFormat></TransitTo><ShipmentWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>2.0</Weight></ShipmentWeight><InvoiceLineTotal><CurrencyCode>USD</CurrencyCode><MonetaryValue>6.00</MonetaryValue></InvoiceLineTotal><Disclaimer>Services listed as guaranteed are backed by a money-back guarantee for transportation charges only. UPS guarantees the day of delivery for every ground package you ship to any address within all 50 states and Puerto Rico. See Terms and Conditions in the Service Guide for details.</Disclaimer><ServiceSummary><Service><Code>1DM</Code><Description>UPS Next Day Air Early A.M.</Description></Service><Guaranteed><Code>Y</Code></Guaranteed><EstimatedArrival><BusinessTransitDays>1</BusinessTransitDays><Time>08:30:00</Time><PickupDate>2010-10-27</PickupDate><PickupTime>20:00:00</PickupTime><Date>2010-10-28</Date><DayOfWeek>THU</DayOfWeek><CustomerCenterCutoff>19:00:00</CustomerCenterCutoff></EstimatedArrival></ServiceSummary><ServiceSummary><Service><Code>1DA</Code><Description>UPS Next Day Air</Description></Service><Guaranteed><Code>Y</Code></Guaranteed><EstimatedArrival><BusinessTransitDays>1</BusinessTransitDays><Time>10:30:00</Time><PickupDate>2010-10-27</PickupDate><PickupTime>20:00:00</PickupTime><Date>2010-10-28</Date><DayOfWeek>THU</DayOfWeek><CustomerCenterCutoff>19:00:00</CustomerCenterCutoff></EstimatedArrival></ServiceSummary><ServiceSummary><Service><Code>1DP</Code><Description>UPS Next Day Air Saver</Description></Service><Guaranteed><Code>Y</Code></Guaranteed><EstimatedArrival><BusinessTransitDays>1</BusinessTransitDays><Time>15:00:00</Time><PickupDate>2010-10-27</PickupDate><PickupTime>20:00:00</PickupTime><Date>2010-10-28</Date><DayOfWeek>THU</DayOfWeek><CustomerCenterCutoff>19:00:00</CustomerCenterCutoff></EstimatedArrival></ServiceSummary><ServiceSummary><Service><Code>GND</Code><Description>UPS Ground</Description></Service><Guaranteed><Code>Y</Code></Guaranteed><EstimatedArrival><BusinessTransitDays>1</BusinessTransitDays><Time>23:00:00</Time><PickupDate>2010-10-27</PickupDate><PickupTime>20:30:00</PickupTime><Date>2010-10-28</Date><DayOfWeek>THU</DayOfWeek><CustomerCenterCutoff>19:30:00</CustomerCenterCutoff></EstimatedArrival></ServiceSummary><MaximumListSize>35</MaximumListSize></TransitResponse></TimeInTransitResponse> ------------------------------------------ Business Transit: UPS Next Day Air Early A.M. = 2010-10-28 Business Transit: UPS Next Day Air = 2010-10-28 Business Transit: UPS Next Day Air Saver = 2010-10-28 Business Transit: UPS Ground = 2010-10-28 ------------------------------------------ Time in Transit: 0 ------------------------------------------ DATE AND TIME: 2010-10-27 11:32:01 UPS URL: https://www.ups.com:443/ups.app/xml/Rate UPS REQUEST using exec(): <?xml version="1.0"?> <AccessRequest xml:lang="en-US"> <AccessLicenseNumber>REMOVED</AccessLicenseNumber> <UserId>REMOVED</UserId> <Password>REMOVED</Password> </AccessRequest> <?xml version="1.0"?> <RatingServiceSelectionRequest xml:lang="en-US"> <Request> <TransactionReference> <CustomerContext>Rating and Service</CustomerContext> <XpciVersion>1.0001</XpciVersion> </TransactionReference> <RequestAction>Rate</RequestAction> <RequestOption>shop</RequestOption> </Request> <PickupType> <Code>11</Code> </PickupType> <Shipment> <Shipper> <Address> <City>Indianapolis</City> <StateProvinceCode>IN</StateProvinceCode> <CountryCode>US</CountryCode> <PostalCode>46218</PostalCode> </Address> </Shipper> <ShipTo> <Address> <City>Carmel</City> <StateProvinceCode>IN</StateProvinceCode> <CountryCode>US</CountryCode> <PostalCode>46033</PostalCode> <ResidentialAddressIndicator/> </Address> </ShipTo> <Package> <PackagingType> <Code>02</Code> </PackagingType> <Dimensions> <UnitOfMeasurement> <Code>IN</Code> </UnitOfMeasurement> <Length>12.00</Length> <Width>12.00</Width> <Height>12.00</Height> </Dimensions> <PackageWeight> <UnitOfMeasurement> <Code>LBS</Code> </UnitOfMeasurement> <Weight>2</Weight> </PackageWeight> </Package> </Shipment> <CustomerClassification> <Code>04</Code> </CustomerClassification> </RatingServiceSelectionRequest> UPS RESPONSE using exec(): <?xml version="1.0"?><RatingServiceSelectionResponse><Response><TransactionReference><CustomerContext>Rating and Service</CustomerContext><XpciVersion>1.0001</XpciVersion></TransactionReference><ResponseStatusCode>1</ResponseStatusCode><ResponseStatusDescription>Success</ResponseStatusDescription></Response><RatedShipment><Service><Code>03</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>2.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>10.02</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>10.02</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery/><ScheduledDeliveryTime/><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>10.02</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>10.02</MonetaryValue></TotalCharges><Weight>2.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>2.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>12</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>16.09</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>16.09</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery>3</GuaranteedDaysToDelivery><ScheduledDeliveryTime/><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>16.09</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>16.09</MonetaryValue></TotalCharges><Weight>2.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>02</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>20.74</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>20.74</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery>2</GuaranteedDaysToDelivery><ScheduledDeliveryTime/><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>20.74</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>20.74</MonetaryValue></TotalCharges><Weight>2.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>13</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>32.99</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>32.99</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery>1</GuaranteedDaysToDelivery><ScheduledDeliveryTime/><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>32.99</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>32.99</MonetaryValue></TotalCharges><Weight>2.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>14</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>70.96</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>70.96</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery>1</GuaranteedDaysToDelivery><ScheduledDeliveryTime>8:30 A.M.</ScheduledDeliveryTime><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>70.96</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>70.96</MonetaryValue></TotalCharges><Weight>2.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>01</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>37.48</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>37.48</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery>1</GuaranteedDaysToDelivery><ScheduledDeliveryTime>10:30 A.M.</ScheduledDeliveryTime><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>37.48</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>37.48</MonetaryValue></TotalCharges><Weight>2.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>9.0</Weight></BillingWeight></RatedPackage></RatedShipment></RatingServiceSelectionResponse> If this is not what you were wanting, let me know and I can get the output for you. Thanks so much! Jen
  10. Kazsil

    USPS rates with dimensions?

    Jan, I am having an issue with the USPSxml quotes. I am just trying to get UPS to give me accurate quotes. It is the oddest thing. But for every package i have it puts #packages X 9 as the weight on all quotes except ground. See here: Actual quote for weight=10 lbs in 3 packages.... United Parcel Service (3 pkgs, 10 lbs total) United Parcel Service UPS Ground (billed dimensional weight 10 LBS) $30.62 UPS 3 Day Select (billed dimensional weight 27 LBS) $48.27 UPS 2nd Day Air (billed dimensional weight 27 LBS) $62.22 UPS Next Day Air Saver (billed dimensional weight 27 LBS) $98.97 UPS Next Day Air (billed dimensional weight 27 LBS) $112.44 UPS Next Day Air Early A.M. (billed dimensional weight 27 LBS) $212.88 Ground is correct weight, but all the others are a 9x3=27 lbs. Another is: United Parcel Service (4 pkgs, 16 lbs total) United Parcel Service UPS Ground (billed dimensional weight 16 LBS) $41.50 UPS 3 Day Select (billed dimensional weight 36 LBS) $64.36 UPS 2nd Day Air (billed dimensional weight 36 LBS) $82.96 UPS Next Day Air Saver (billed dimensional weight 36 LBS) $131.96 UPS Next Day Air (billed dimensional weight 36 LBS) $149.92 UPS Next Day Air Early A.M. (billed dimensional weight 36 LBS) $283.84 Ground is correct weight again, but all others are 9x4=36.... On all services except Ground it is disregarding the true weight and using (#pkgs X 9) for the weight. So it has to be multiplying the amount of packages x 9 for some reason. Except for UPS Ground... that one is perfect! I have cleared my tar to 0, no handling fee. What am I missing?? I have re-looked at my code and from what I see, i did the installs correctly. I did check the Tools->Packaging and I have set them to empty weight=0 max weight=0 cost=1 Is there a setting somewhere I am not setting that would have a default box weight to 9lbs on all UPS services except Ground? I would truly appreciate your feedback and help because I have been struggling with this for a week! (I haven't even gotten to the USPS yet! Sigh.) Thanks in advance :blush: Jen
  11. Kazsil

    New UPS XML Shipping Module available

    Anyone run into this problem? I could really use some help as I am pulling my hair out! Thanks in advance! Jen
  12. Kazsil

    New UPS XML Shipping Module available

    Have an odd problem. I have installed and it seems to be working okay for UPS ground, but all the other options have an odd "billed dimensional weight x LBS" United Parcel Service (3 pkgs, 10 lbs total) United Parcel Service UPS Ground (billed dimensional weight 10 LBS) $30.62 UPS 3 Day Select (billed dimensional weight 27 LBS) $48.27 UPS 2nd Day Air (billed dimensional weight 27 LBS) $62.22 UPS Next Day Air Saver (billed dimensional weight 27 LBS) $98.97 UPS Next Day Air (billed dimensional weight 27 LBS) $112.44 UPS Next Day Air Early A.M. (billed dimensional weight 27 LBS) $212.88 ANOTHER Example: United Parcel Service (4 pkgs, 16 lbs total) United Parcel Service UPS Ground (billed dimensional weight 16 LBS) $41.50 UPS 3 Day Select (billed dimensional weight 36 LBS) $64.36 UPS 2nd Day Air (billed dimensional weight 36 LBS) $82.96 UPS Next Day Air Saver (billed dimensional weight 36 LBS) $131.96 UPS Next Day Air (billed dimensional weight 36 LBS) $149.92 UPS Next Day Air Early A.M. (billed dimensional weight 36 LBS) $283.84 It doesnt seem to matter what items I put in my basket it can be anywhere from 20-70 lbs off! I have the tar set to 0 and the large package increase also to 0. I am also configured for "With product dimensions" as the Dimension Support. What have I missed? I have checked my install, but can't seem to find it? Shipping has been such a nightmare for me and I can't seem to figure this out! I appreciate your help! Jen
  13. Kazsil

    USPS rates with dimensions?

    Thanks Jan! I will give it a try and let you know how it comes out. Jen
  14. I have looked everywhere and haven't been able to find and addon for USPS that would allow for the rate to be based on dimensions of the package it only goes by weight. And the rates are way off from accurate. I see the addon "UPS XML Rates" and it looks great but my client would like to use USPS since it is generally a cheaper way to ship. My client has almost all his inventory already boxed in the original packaging, so it is a "ready to ship" type situation. Is there an addon that I am just not finding? Or is there a way to do this that I am just not thinking of (like installing the UPS XML addon and augmenting the USPS.php file so it calls the h w d from the dBASE?) I have osC v 2.2 rc2 I would really really be grateful as this is something I have to figure out! Thanks so much advance! :D Jen
  15. Hi Jan,

    I was wondering if you knew of a way to use USPS and get quotes with dimensions? I know you have one for UPS, but I can't seem to find something like that for USPS. I have searched and haven't found anything. :( I would truly appreciate your help!

    Thanks so much,

    Jen

×