Kryptronic Software Support Forum

You are viewing this forum as a guest. Login to an existing account, or create a new account, to reply to topics and to create new topics.

#1 01-20-2011 11:41:22

ADFStore
Member
Registered: 09-27-2010
Posts: 7

International shipping not grouping items together for best price

My domestic shipping is working correctly, but on International orders, it's not grouping the items together for the best price. This is happening on test orders with identical items.

For example, when shipping 2 issues of a magazine by Priority International mail, it's charging $24.25 instead of $11.95 for the flat rate envelope, or twice as much as it should.

Any ideas on where to look to fix this?

Thanks!

Offline

 

#2 01-20-2011 14:22:11

Design_Wholesale
Member
From: England!
Registered: 11-21-2008
Posts: 1104
Website

Re: International shipping not grouping items together for best price

International orders, - have you classified everything outside of the US as just being altogether or do you have, for example, rates for the UK, rates for France, rates for New Zealand, rates for... etc.?

- There are several things that can screw up your postage rates and it might be easier to see your script (although it looks as though you might just be using the built-in postage rates - ?), and to know which country/countries are causing the problem.

Also, do any of the problem items have product options?  If so, does the problem only occur with product option items?

Another thing that comes to mind: was a country selected from the drop-down menu, or was the country selection left blank, as not applicable, NA, or -- ?

Something else that comes to mind. - The software has some very interesting ways of calculating sizes. - Try testing the items with their length and width cut in two (so two magazines are the same size as one would be normally when placed side by side). - If that solves the problem, but is not an acceptable solution for your requirements, you may well need to look at using a custom shipping script (this is one of main reasons why many people using CCP, myself included, use custom shipping scripts - the provided postage rates are great for single items and most everyday objects, but fall flat when it comes to handling multiple items or anything with an unusual size, weight, etc.).

Last edited by Design_Wholesale (01-20-2011 14:34:05)

Offline

 

#3 01-21-2011 08:26:22

ADFStore
Member
Registered: 09-27-2010
Posts: 7

Re: International shipping not grouping items together for best price

Design_Wholesale wrote:

International orders, - have you classified everything outside of the US as just being altogether or do you have, for example, rates for the UK, rates for France, rates for New Zealand, rates for... etc.?

- There are several things that can screw up your postage rates and it might be easier to see your script (although it looks as though you might just be using the built-in postage rates - ?), and to know which country/countries are causing the problem.

Also, do any of the problem items have product options?  If so, does the problem only occur with product option items?

Another thing that comes to mind: was a country selected from the drop-down menu, or was the country selection left blank, as not applicable, NA, or -- ?

Something else that comes to mind. - The software has some very interesting ways of calculating sizes. - Try testing the items with their length and width cut in two (so two magazines are the same size as one would be normally when placed side by side). - If that solves the problem, but is not an acceptable solution for your requirements, you may well need to look at using a custom shipping script (this is one of main reasons why many people using CCP, myself included, use custom shipping scripts - the provided postage rates are great for single items and most everyday objects, but fall flat when it comes to handling multiple items or anything with an unusual size, weight, etc.).

Yes, I am using the built in script. Do you know which script does the calculations? By looking at it, I may see what is happening.

No, the product options are not set for the two items I'm using for the test.

I've got test accounts set up for Canada and Australia and they both have the same problem.

I've set the products to group by size and group by weight, but neither work right. I've tried cutting the weight in half while using group by weight, but that didn't work. Now I'll try changing the length and width and see if that makes a difference grouping by size. Thanks for the suggestion!

Do you have a link for a custom shipping script in the documentation that I can look at?

Last edited by ADFStore (01-21-2011 08:27:27)

Offline

 

#4 01-21-2011 13:10:25

Design_Wholesale
Member
From: England!
Registered: 11-21-2008
Posts: 1104
Website

Re: International shipping not grouping items together for best price

So you have basically taken the , or one of the other pre-defined scripts, and have expanded on it? - If so you will already have the makings of a custom shipping script.

I'm still thinking it is the sizes that are causing you problems and, if so, it is a real problem. - In my case I ended up having to assign an extra field in the database to certain products so I could effectively specify a certain postage method for certain items.  Try stripping sizes from your script altogether to start with (and backing up the original) and see if that solves the problem, - I'm sure it will.

Then, if stripping sizes from your products fixes the problem, try replacing the old script and modifying something like the following to suit your needs:

Code:

<?php 

// +--
// | All custom shipping scripts work in the same way.  A global
// | variable named 'ecom.customship' contains the following PHP
// | array.  Array keys with value info:
// |
// | weight          =>     Total weight of items being shipped.
// | total               =>     Subtotal of items being shipped.
// | quantity          =>     Quantity of items being shipped.
// | stateprov          =>     Ship to state/province.
// | country          =>     Ship to country.
// | postalcode          =>     Ship to postal code.
// | rescom          =>     Ship to residential/commercial status.
// | shipstateprov          =>     Ship origin state/province.
// | shipcountry          =>     Ship origin country.
// | shipzip          =>     Ship origin postal code.
// | packages          =>     An array containing all packages with  each package defined in it's own array
// |                    with keys: length, width, height, weight.
// | tagline          =>     Grouping Control Mechanism
// | delinfo          =>     Delivery information array.
// | delitems          =>     An array containing all items with each item id as a key and the item quantity 
// |                    as a value.
// |
// | This script must set a global variable named 
// | 'ecom.customship_response' which is an array in the 
// | following format:
// |
// | method name => amount
// |
// | NOTE: Do not print anything within custom shipping
// | scripts.  They are designed only to return names and 
// | prices for custom shipping methods.
// |
// | This script is a User Defined Calculation script that
// | returns a static method and amount.
// +--

$Courier5Kg = '48 Hour Courier - 5Kg - Europe';
$Courier10Kg = '48 Hour Courier - 10Kg - Europe';
$Courier25Kg = '3-4 Day Courier - 25Kg - Europe';
$CourierUK = '2-3 Day Business Post Courier (England, Wales, &amp; Scotland)';
$CourierNI = '2-3 Day Courier (Northern Ireland)';
$CourierSC = '2-3 Day Business Post Courier (Scotland - Highlands &amp; Outlying Regions)';
$World70Kg = '1-5 Day Courier - Includes Europe &amp; US/Canada';

$FreeDelivery = 'Free British Isles Delivery';
$SignedForEurope = 'Small Packet, International Signed-For Delivery - Europe';
$SignedForInt = 'Small Packet, International Signed-For Delivery - Outside of Europe, Includes US/Canada';
$Letter = '1st Class Letter Delivery';
$LetterEurope = 'Airmail Letter, International Signed-For Delivery - Europe';
$LetterInt = 'Airmail Letter, International Signed-For Delivery - Outside of Europe, Includes US/Canada';
$LetterRecorded = '1st Class Letter, Recorded Delivery';
$LLetter = '1st Class Large Letter Delivery';
$LLetterRecorded = '1st Class Large Letter, Recorded Delivery';
$Packet = '1st Class Packet Post';
$PacketRecorded = '1st Class Packet, Recorded Delivery';
$SmallPacketEurope = 'Small Packet, Airmail Delivery - Europe';
$SmallPacketInt = 'Small Packet, Airmail Delivery - Outside of Europe, Includes US/Canada';
$StandardParcels = 'Standard Parcels Service';

$BFPOFree = 'BFPO Enduring Free Post Service (for Items Not Exceeding 2Kg)';
$CIP = 'Collection in Person - Please Contact LDW in Advance of Intended Collection Time';
$Contact = 'We Do Not Appear To Have A Delivery Method In Place To Match Your Requirements, - Please Contact LDW';

// ids cannot start with a number

// $packwidth + $packwidth either stack items or place them side-by side.

// $packlength generates a value based on items being placed end-on-end to each other

$info = $this->globals('ecom.customship');
$shipquantity = $info['quantity'];
$shippostcode = $info['postalcode'];
$ordertotal = $info['total'];

// country if statement should serve as container for entire script - seperate foreach statements for both UK and non-UK

if ($info['country'] == 'England' ||
     $info['country'] == 'Wales' ||
     $info['country'] == 'Scotland' ||
     $info['country'] == 'Isle of Man' ||
     $info['country'] == 'Northern Ireland' ||
     $info['country'] == 'Alderney' ||
     $info['country'] == 'Brecqhou' ||
     $info['country'] == 'Guernsey' ||
     $info['country'] == 'Herm' ||
     $info['country'] == 'Jersey' ||
     $info['country'] == 'Jethou' ||
     $info['country'] == 'Sark' ||
     $info['country'] == 'BFPO 2' ||
     $info['country'] == 'BFPO 4' ||
     $info['country'] == 'BFPO 6' ||
     $info['country'] == 'BFPO 8' ||
     $info['country'] == 'BFPO 10' ||
     $info['country'] == 'BFPO 11' ||
     $info['country'] == 'BFPO 12' ||
     $info['country'] == 'BFPO 14' ||
     $info['country'] == 'BFPO 15' ||
     $info['country'] == 'BFPO 16' ||
     $info['country'] == 'BFPO 17' ||
     $info['country'] == 'BFPO 18' ||
     $info['country'] == 'BFPO 19' ||
     $info['country'] == 'BFPO 22' ||
     $info['country'] == 'BFPO 23' ||
     $info['country'] == 'BFPO 26' ||
     $info['country'] == 'BFPO 28' ||
     $info['country'] == 'BFPO 30' ||
     $info['country'] == 'BFPO 31' ||
     $info['country'] == 'BFPO 35' ||
     $info['country'] == 'BFPO 38' ||
     $info['country'] == 'BFPO 39' ||
     $info['country'] == 'BFPO 40' ||
     $info['country'] == 'BFPO 44' ||
     $info['country'] == 'BFPO 47' ||
     $info['country'] == 'BFPO 49' ||
     $info['country'] == 'BFPO 50' ||
     $info['country'] == 'BFPO 52' ||
     $info['country'] == 'BFPO 53' ||
     $info['country'] == 'BFPO 57' ||
     $info['country'] == 'BFPO 58' ||
     $info['country'] == 'BFPO 59' ||
     $info['country'] == 'BFPO 61' ||
     $info['country'] == 'BFPO 63' ||
     $info['country'] == 'BFPO 65' ||
     $info['country'] == 'BFPO 105' ||
     $info['country'] == 'BFPO 109' ||
     $info['country'] == 'BFPO 113' ||
     $info['country'] == 'BFPO 115' ||
     $info['country'] == 'BFPO 140' ||
     $info['country'] == 'BFPO 150' ||
     $info['country'] == 'BFPO 622' ||
     $info['country'] == 'BFPO 655, Mount Pleasant Airport' ||
     $info['country'] == 'BFPO 655, Stanley' ||
     $info['country'] == 'BFPO 655, Mount Alice' ||
     $info['country'] == 'BFPO 655, Byron Heights' ||
     $info['country'] == 'BFPO 655, South Georgia' ||
     $info['country'] == 'BFPO 677' ||
     $info['country'] == 'BFPO 700' ||
     $info['country'] == 'BFPO 747' ||
     $info['country'] == 'BFPO 777' ||
     $info['country'] == 'BFPO 785' ||
     $info['country'] == 'BFPO 786' ||
     $info['country'] == 'BFPO 794' ||
     $info['country'] == 'BFPO 801' ||
     $info['country'] == 'BFPO 802' ||
     $info['country'] == 'BFPO 805' ||
     $info['country'] == 'BFPO 806' ||
     $info['country'] == 'BFPO 808' ||
     $info['country'] == 'BFPO 825' ||
     $info['country'] == 'BFPO 1000' ||
     $info['country'] == 'BFPO 1001' ||
     $info['country'] == 'BFPO 589' ||
     $info['country'] == 'BFPO 2002' ||
     $info['country'] == 'BFPO 2003' ||
     $info['country'] == 'BFPO 2004' ||
     $info['country'] == 'BFPO 2005' ||
     $info['country'] == 'BFPO 2006' ||
     $info['country'] == 'BFPO 2007' ||
     $info['country'] == 'BFPO 2008' ||
     $info['country'] == 'BFPO 2010' ||
     $info['country'] == 'BFPO 2011' ||
     $info['country'] == 'BFPO 2013' ||
     $info['country'] == 'BFPO 2014' ||
     $info['country'] == 'BFPO 2015' ||
     $info['country'] == 'BFPO 2016' ||
     $info['country'] == 'BFPO 2017' ||
     $info['country'] == 'BFPO 2019' ||
     $info['country'] == 'BFPO 2020' ||
     $info['country'] == 'BFPO 2021' ||
     $info['country'] == 'BFPO 2022' ||
     $info['country'] == 'BFPO 200' ||
     $info['country'] == 'BFPO 204' ||
     $info['country'] == 'BFPO 205' ||
     $info['country'] == 'BFPO 208' ||
     $info['country'] == 'BFPO 210' ||
     $info['country'] == 'BFPO 212' ||
     $info['country'] == 'BFPO 214' ||
     $info['country'] == 'BFPO 215' ||
     $info['country'] == 'BFPO 221' ||
     $info['country'] == 'BFPO 222' ||
     $info['country'] == 'BFPO 229' ||
     $info['country'] == 'BFPO 231' ||
     $info['country'] == 'BFPO 241' ||
     $info['country'] == 'BFPO 243' ||
     $info['country'] == 'BFPO 248' ||
     $info['country'] == 'BFPO 251' ||
     $info['country'] == 'BFPO 252' ||
     $info['country'] == 'BFPO 253' ||
     $info['country'] == 'BFPO 254' ||
     $info['country'] == 'BFPO 255' ||
     $info['country'] == 'BFPO 256' ||
     $info['country'] == 'BFPO 261' ||
     $info['country'] == 'BFPO 270' ||
     $info['country'] == 'BFPO 271' ||
     $info['country'] == 'BFPO 272' ||
     $info['country'] == 'BFPO 273' ||
     $info['country'] == 'BFPO 275' ||
     $info['country'] == 'BFPO 276' ||
     $info['country'] == 'BFPO 277' ||
     $info['country'] == 'BFPO 279' ||
     $info['country'] == 'BFPO 280' ||
     $info['country'] == 'BFPO 281' ||
     $info['country'] == 'BFPO 282' ||
     $info['country'] == 'BFPO 285' ||
     $info['country'] == 'BFPO 288' ||
     $info['country'] == 'BFPO 289' ||
     $info['country'] == 'BFPO 292' ||
     $info['country'] == 'BFPO 300' ||
     $info['country'] == 'BFPO 305' ||
     $info['country'] == 'BFPO 309' ||
     $info['country'] == 'BFPO 318' ||
     $info['country'] == 'BFPO 323' ||
     $info['country'] == 'BFPO 324' ||
     $info['country'] == 'BFPO 327' ||
     $info['country'] == 'BFPO 331' ||
     $info['country'] == 'BFPO 334' ||
     $info['country'] == 'BFPO 335' ||
     $info['country'] == 'BFPO 338' ||
     $info['country'] == 'BFPO 339' ||
     $info['country'] == 'BFPO 345' ||
     $info['country'] == 'BFPO 346' ||
     $info['country'] == 'BFPO 350' ||
     $info['country'] == 'BFPO 357' ||
     $info['country'] == 'BFPO 358' ||
     $info['country'] == 'BFPO 361' ||
     $info['country'] == 'BFPO 362' ||
     $info['country'] == 'BFPO 363' ||
     $info['country'] == 'BFPO 366' ||
     $info['country'] == 'BFPO 368' ||
     $info['country'] == 'BFPO 369' ||
     $info['country'] == 'BFPO 375' ||
     $info['country'] == 'BFPO 376' ||
     $info['country'] == 'BFPO 377' ||
     $info['country'] == 'BFPO 378' ||
     $info['country'] == 'BFPO 380' ||
     $info['country'] == 'BFPO 381' ||
     $info['country'] == 'BFPO 382' ||
     $info['country'] == 'BFPO 384' ||
     $info['country'] == 'BFPO 386' ||
     $info['country'] == 'BFPO 387' ||
     $info['country'] == 'BFPO 395' ||
     $info['country'] == 'BFPO 396' ||
     $info['country'] == 'BFPO 398' ||
     $info['country'] == 'BFPO 399' ||
     $info['country'] == 'BFPO 401' ||
     $info['country'] == 'BFPO 402' ||
     $info['country'] == 'BFPO 403' ||
     $info['country'] == 'BFPO 404' ||
     $info['country'] == 'BFPO 405' ||
     $info['country'] == 'BFPO 490' ||
     $info['country'] == 'BFPO 494' ||
     $info['country'] == 'BFPO 495' ||
     $info['country'] == 'BFPO C/O 2' ||
     $info['country'] == 'BFPO C/O 63' ||
     $info['country'] == 'BFPO C/O 150' ||
     $info['country'] == 'BFPO C/O 806') {

$packages   = $info['packages'];

foreach ($packages as $packnum => $package) {

     $packheight = $package['height'];
     $packwidth  = $package['width'];
     $packlength = $package['length'];
     $packweight = $package['weight'];

//change to Uppercase
$shippostcode = strtoupper($shippostcode);

//remove white space
$postcode = preg_replace( '/[^a-z0-9]/i', '', $shippostcode );

          if ( in_array( strlen( $postcode ), array( 5, 6, 7 ) ) ) // if length is acceptable, just remove the last three characters to make a 3 or 4 digit postcode


          {

               $postcode = substr( $postcode, 0, -3 );

          }

if (($postcode==IV1 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV2 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV3 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV4 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV5 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV6 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV7 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV8 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV9 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV10 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV11 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV12 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV13 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV14 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV15 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV16 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV17 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV18 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV19 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV20 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV21 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV22 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV23 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV24 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV25 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV26 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV27 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==IV28 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==KA27 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==KA28 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA20 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA21 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA22 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA23 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA24 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA25 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA26 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA27 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA28 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PA29 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH19 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH20 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH21 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH22 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH23 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH24 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH25 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH26 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH27 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH28 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH29 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH30 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH31 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH32 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH33 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH34 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH35 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH36 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH37 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH38 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH39 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH40 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH41 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH42 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH43 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00') ||
     ($postcode==PH44 && $info['weight'] >= '5.001' && $info['weight'] <= '25.00')) {

               $custom = array($CourierSC => '18.50', $CIP => '0.00');

// Lamps

          } elseif ($info['tagline'] == 'Litez_Lamps') {

               $custom = array($CourierUK => '0.00', $CourierNI => '12.50', $CIP => '0.00');

          } else {

               $custom = array($World70Kg => '18.25', $CIP => '0.00');

          } // End of if statement

     } // End of foreach statement


}  else { // postage rules for non-UK countries go in the following section, including a further foreach statement if required


        if ($info['weight'] >= '0.000' && $info['weight'] <= '0.100' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '2.16', $SmallPacketInt => '2.67', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.000' && $info['weight'] <= '0.100') {

            $custom = array($SignedForEurope => '6.41', $SignedForInt => '6.92', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.101' && $info['weight'] <= '0.120' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '2.27', $SmallPacketInt => '2.95', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.101' && $info['weight'] <= '0.120') {

            $custom = array($SignedForEurope => '6.52', $SignedForInt => '7.20', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.121' && $info['weight'] <= '0.140' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '2.42', $SmallPacketInt => '3.23', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.121' && $info['weight'] <= '0.140') {

            $custom = array($SignedForEurope => '6.67', $SignedForInt => '7.48', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.141' && $info['weight'] <= '0.160' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '2.55', $SmallPacketInt => '3.50', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.141' && $info['weight'] <= '0.160') {

            $custom = array($SignedForEurope => '6.80', $SignedForInt => '7.75', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.161' && $info['weight'] <= '0.180' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '2.70', $SmallPacketInt => '3.78', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.161' && $info['weight'] <= '0.180') {

            $custom = array($SignedForEurope => '6.95', $SignedForInt => '8.03', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.181' && $info['weight'] <= '0.200' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '2.83', $SmallPacketInt => '4.05', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.181' && $info['weight'] <= '0.200') {

            $custom = array($SignedForEurope => '7.08', $SignedForInt => '8.30', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.201' && $info['weight'] <= '0.220' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '2.97', $SmallPacketInt => '4.31', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.201' && $info['weight'] <= '0.220') {

            $custom = array($SignedForEurope => '7.22', $SignedForInt => '8.56', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.221' && $info['weight'] <= '0.240' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.09', $SmallPacketInt => '4.56', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.221' && $info['weight'] <= '0.240') {

            $custom = array($SignedForEurope => '7.34', $SignedForInt => '8.81', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.241' && $info['weight'] <= '0.260' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.22', $SmallPacketInt => '4.81', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.241' && $info['weight'] <= '0.260') {

            $custom = array($SignedForEurope => '7.47', $SignedForInt => '9.06', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.261' && $info['weight'] <= '0.300' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.36', $SmallPacketInt => '5.07', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.261' && $info['weight'] <= '0.300') {

            $custom = array($SignedForEurope => '7.61', $SignedForInt => '9.32', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.301' && $info['weight'] <= '0.320' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.50', $SmallPacketInt => '5.32', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.301' && $info['weight'] <= '0.320') {

            $custom = array($SignedForEurope => '7.75', $SignedForInt => '9.57', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.321' && $info['weight'] <= '0.340' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.62', $SmallPacketInt => '5.56', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.321' && $info['weight'] <= '0.340') {

            $custom = array($SignedForEurope => '7.87', $SignedForInt => '9.81', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.341' && $info['weight'] <= '0.360' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.74', $SmallPacketInt => '5.80', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.341' && $info['weight'] <= '0.360') {

            $custom = array($SignedForEurope => '7.99', $SignedForInt => '10.05', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.361' && $info['weight'] <= '0.380' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.86', $SmallPacketInt => '6.04', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.361' && $info['weight'] <= '0.380') {

            $custom = array($SignedForEurope => '8.11', $SignedForInt => '10.29', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.381' && $info['weight'] <= '0.400' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '3.98', $SmallPacketInt => '6.28', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.381' && $info['weight'] <= '0.400') {

            $custom = array($SignedForEurope => '8.23', $SignedForInt => '10.53', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.401' && $info['weight'] <= '0.420' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '4.10', $SmallPacketInt => '6.52', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.401' && $info['weight'] <= '0.420') {

            $custom = array($SignedForEurope => '8.35', $SignedForInt => '10.77', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.421' && $info['weight'] <= '0.440' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '4.22', $SmallPacketInt => '6.62', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.421' && $info['weight'] <= '0.440') {

            $custom = array($SignedForEurope => '8.47', $SignedForInt => '10.87', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.441' && $info['weight'] <= '0.460' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '4.34', $SmallPacketInt => '7.00', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.441' && $info['weight'] <= '0.460') {

            $custom = array($SignedForEurope => '8.59', $SignedForInt => '11.25', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.461' && $info['weight'] <= '0.480' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '4.46', $SmallPacketInt => '7.24', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.461' && $info['weight'] <= '0.480') {

            $custom = array($SignedForEurope => '8.71', $SignedForInt => '11.49', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.481' && $info['weight'] <= '0.500' && $info['total'] >= '0.00' && $info['total'] <= '5.00') {

            $custom = array($SmallPacketEurope => '4.58', $SmallPacketInt => '7.48', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.481' && $info['weight'] <= '0.500') {

            $custom = array($SignedForEurope => '8.83', $SignedForInt => '11.73', $CIP => '0.00');

        } elseif ($info['weight'] >= '0.501' && $info['weight'] <= '5.000') {

            $custom = array($Courier5Kg => '17.50', $World70Kg => '18.25', $CIP => '0.00');

        } elseif ($info['weight'] >= '5.001' && $info['weight'] <= '10.000') {

            $custom = array($Courier10Kg => '23.50', $World70Kg => '18.25', $CIP => '0.00');

        } elseif ($info['weight'] >= '10.001' && $info['weight'] <= '25.000') {

            $custom = array($Courier25Kg => '22.50', $World70Kg => '18.25', $CIP => '0.00');

        } else {

            $custom = array($World70Kg => '18.25', $CIP => '0.00');

        } // End of if statement

} // End of country if statement

$this->globals('ecom.customship_response',$custom);

?>

The above is based on an earlier post ( https://forum.kryptronic.com/viewtopic.php?id=27557 ), which contains some additional notes.  If you still have a size issue (and have managed to identify the problem as definitely being that) just say and I will tell you how to use the tagline system that I use in our webstore.

Last edited by Design_Wholesale (01-21-2011 13:13:19)

Offline

 

#5 01-21-2011 13:30:24

ADFStore
Member
Registered: 09-27-2010
Posts: 7

Re: International shipping not grouping items together for best price

Thanks for the help John!

Offline

 

Board footer