Re: AustPost - improved issues.
Hi GAM,
> Anyway, the issues I was experiencing are:
> 1. Parcel quoted when weight and dimensions < Large Letter
> maximums.
> 2. iirc, a single item <9cm x 9cm x 1.5cm returns 'at least one
> dimension is invalid' and also, iirc, > above but < max. letter
> returns '...max. girth exceeded...' or similar error msg.
> 3. Specifying the mentioned 50mm x 50mm x 30mm didn't
> work either.
> I looked at tricking the 'stack' method by specifying 0.5cm and
> 9x9cm so that it would accept Large Letter for 4x product of this
> size. It didn't work, iirc, max girth msg.
To fix this, load /includes/modules/shipping/austpost.php into a text editor.
Look for the line that reads:
if ($dest_country == "AU" ) {
Then immediately before this line add the following:
----------------------------------------------------------------------
$var = array($swidth, $slength, $sheight) ;
sort($var) ;
if ($var[0] < 50 { $var[0] = 50 ;}
if ($var[1] < 50 { $var[1] = 50 ;}
if ($var[2] < 50 { $var[2] = 50 ;}
-------------------------------------------------------
This should fix those errors.
> Also, if you can explain or point me in the right direction on how to > enable/disable debugging this would be a great help as I would like > to try some things out and offer any assistance if I can.
Somewhere around line 96 of the file mentioned above you should find a line that contains "debug = 0". Change this to "debug = 1".
Note: The output isn't particularly pretty and you may not find it'll give all the information you need. Give it a go though.
BTW, when it comes to letter rates, the austpost server doesn't get contacted at all. The rates for these are predefined in the config options. The Austpost server will only quote for parcels, which is why it produces errors when it gets fed data that is considered 'too small' to be a parcel.
Cheers
Rod
Re: AustPost - improved issues.
Hey Rod
The letter rates vs parcel rates makes total sense. I'll insert the changes you mention and have a look at the debugging a little later this afternoon or this evening (Wifey is cracking the household whip for the moment ;)).
I'll let you know how it goes.
Thanks heaps Rod!
Cheers
GAM
Re: AustPost - improved issues.
Hey Rod
I've made some changes and now have letter rates working nicely. I have some not so friendly workarounds for the 'stacked' method for multiple items in a letter but I would really like to try and address this better in the code itself. As I don't know PHP code I have been working on some VBA methods but I still need to do a lot more work before I can offer a viable solution that could be recoded in PHP. I'll report back on this latter.
Following is a summary of the updates/changes I made to austpost.php v1.5.3 (../includes/moduels/shipping/):
...added .01 to dims to ensure exact max accepted i.e., H=2cm is still a letter. Small Letter sweight 250 i/o 2500.
Code:
/////////////// check for letter size ////
if( ($var[2] < 24) && ($var[1] < 13) && ($var[0] < 0.5) && ($sweight < 250) ) { $lr = 1 ; $lrt = " - Small letter" ;}
else {
if( ($var[2] < 36.01) && ($var[1] < 26.01) && ($var[0] < 2.01) ) {
...there was something wrong with the syntax of your code suggestion earlier, but since I was updating with v1.5.3 I noticed what you had done similarly and changed it somewhat as it still didn't work as expected. Note where I commented out your line and replaced with the two following lines.
Code:
/// too large for letter, but may be too small for drc server (minimum = 50x50x30)
$var = array($swidth, $slength, $sheight) ;
sort($var) ;
/////print_r($var) ; // meet minimum requirements
// if (($var[0] < 50) && ($var[1] < 50)) {$var[0] = 50 ; $var[1] = 50 ;}
if ($var[0] < 50) {$var[0] = 50 ;}
if ($var[1] < 50) {$var[1] = 50 ;}
//if ($var[2] < 50) {$var[2] = 50 ;}
I suggest you scrutinise the changes above and consider incorporating them into your next update.
Additionally, I have changed my 'Default Parcel Size' to L5xW5xH2 (H2 being the most important), as the code uses the max dimension of Item and Default. If any of the defaults are outside the 'Letter' max dimensions, Letter size is not available. My suggestion to 'letter' people would be to specify the max letter dimensions... L36 W26 H2 (requires the .01 addition to dimensions in code above too, otherwise specify defaults as L36.01 W26.01 H2.01)
[EDIT: The above (default parcel size) and below (Height) workarounds assume that you have ACCURATE DIMENSIONS SPECIFIED FOR ALL PRODUCTS! If not, you could be quoting letter rates for your light but LARGE boxes ;) ]
For the stacking problem, I will use a workaround along the lines of the following:
- Very small and 'thin' (<20mm) items that could be packed up to 10 to a large envelope, Height specified as 2cm/8 (to be safe)
- Small and 'thin' (<20mm) items that could be packed up to 6 to a large envelope, Height specified as 2cm/5 (to be safe)
- Medium 15-20mm items that could be packed up to 4 to a large envelope, Height specified as 2cm/2 (being very safe).
Although this is less than ideal, it is much better than asking $10 for freight where it costs $1 (many of my poor young customers will appreciate this, especially when they are only spending $10! ;)). I will be scrutinising my products further to identify likely orders/packing scenarios and specifying Heights accordingly to cover at least half the likely variations.
I hope this info is well received and not an unessecary burden ;)
Cheers
GAM
Re: AustPost - improved issues.
Hi GAM,
> added .01 to dims to ensure exact max accepted i.e.,
> H=2cm is still a letter.
I didn't consider this accuracy nessesary, especially since the thickness of the envelope/packaging isn't taken into consideration either.
> ..there was something wrong with the syntax of your code
> suggestion earlier,
I typed it in by hand. Probably miskeyed something.
> Additionally, I have changed my 'Default Parcel Size' to L5xW5xH2 > (H2 being the most important), as the code uses the max
> dimension of Item and Default. If any of the defaults are outside
> the 'Letter' max dimensions, Letter size is not available.
I did it that way intentionally. The prime purpose of this module is to obtain quotes for parcels. The ability to cater for letter sized items is/was an after the fact addon. I'd rather have new users have their default postage be based on parcel rates rather than letter rates otherwise they'll be screaming at me wondering why their customers are being underquoted.
IOW, Letter are considered to be the exception rather than the rule.
However, that said, all stores are different, and obvioulsly most of your items are apparently letter sized, so it simply makes sense for you to change the defaults to suit your own needs. I don't think it wise to have this the default for all users though.
> EDIT: The above (default parcel size) and below (Height)
> workarounds assume that you have ACCURATE DIMENSIONS
> SPECIFIED FOR ALL PRODUCTS! If not, you could be quoting
> letter rates for your light but LARGE boxes ;) ]
This is exactly why having letter sized defaults (for the distribution package) is not a good idea. It would be more accurate to assume that when people first install the AP module they WON'T have accurate dimensions for their products - in fact they won't have any dimensions at all because this feature is added by the AP module.
The defaults given in the distribution package will tend to give pretty accurate results based on weights alone (which could/should exist prior to installing the AP module). If I made the defaults to be within letter sized then the 'out of the box' defaults will severely underquote.
> For the stacking problem, I will use a workaround along the lines of > the following:
> - Very small and 'thin' (<20mm) items that could be packed up to > 10 to a large envelope, Height specified as 2cm/8 (to be safe)
> - Small and 'thin' (<20mm) items that could be packed up to 6 to a > large envelope, Height specified as 2cm/5 (to be safe)
> - Medium 15-20mm items that could be packed up to 4 to a large > envelope, Height specified as 2cm/2 (being very safe).
That may work well for you, but please remember that this module is used by lots of different people with very different needs. How is your
"workaround" going to work for someone that sells kitchen sinks, taps, and stickers/decals, in various combinations?
Any solution you come up with needs to take such scenarios into consideration (assuming it is something you wish to share, rather than doing merely to fine tune things for your own situation).
> Although this is less than ideal, it is much better than asking $10
> for freight where it costs $1 (many of my poor young customers
> will appreciate this, especially when they are only spending
> $10! ;)).
On the other hand, it is far easier for a merchant to give a $9.00 refund on such a sale rather than quote $1.00 for postage (instead of $10.00) and then having to either absorb the cost, send the customer and updated invoice, or cancel the sale, all of which will turn the customer off far more than quoting the higher price in the first place.
It is for this reason the AP module always tends to err in favour of the merchant rather than the customer.
> I hope this info is well received and not an unessecary burden ;)
I take all comments, criticisms and suggestions seriously and in the helpful manner they are intended. Whether I accept or reject any given suggestion is another matter. In this case I cannot conscionably implement your suggestion to change the default dimension settings in the distribution package.
As for the parcel stacking algorithm... before you get too involved in it, you ARE aware that this is something of a 'holy grail' in programming, aren't you?
Cheers
Rod.
Re: AustPost - improved issues.
Hi Rod
I totally understand your viewpoint with respect to parcel's being the norm for most shops and realise too that most would not have accurate item dimensions (as I didn't until I spent several hours measuring everything, and then modifying the Easy Populate contribution to populate the additional dimensions!).
Changing the default parcel size was a suggestion/tip for users with similar requirements. It wasn't my intention to change the default in your code, although a mention of this in the documentation would be helpful.
Quote:
Quote:
For the stacking problem, I will use a workaround along the lines of the following:
- Very small and 'thin' (<20mm) items that could be packed up to 10 to a large envelope, Height specified as 2cm/8 (to be safe)
...
That may work well for you, but please remember that this module is used by lots of different people with very different needs. How is your
"workaround" going to work for someone that sells kitchen sinks, taps, and stickers/decals, in various combinations?
Although I haven't run through all the permutations, I make this suggestion on the basis that once an item is added that exceeds 'letter' size dimensions, 'Parcel' quotes are provided regardless. The suggested workaround is only useful for a number of <letter size items. Once that kitchen sink is added (or tap for that matter), it is all parcel from there. The max. volume and weight of a Large Letter shouldn't make any significant difference to the parcel quote.
All that said, this is still theory on my part and I will soon see the errors of my ways as the future onfolds with these workarounds implemented on my store ;)
Stacking = holy grail of programming? Yes, I soon realised once I did some research and particularly once I discovered it commonly referrred to as the '3d bin stacking' problem. ;) There's lots of doco out including various code examples, particularly C++ variants. I'm probably way out of my depth. I'm not a serious programmer and have no illusions that I'll be able to solve this, however I feel I might be able come up with some far less than perfect but slightly improved alternatives to the 'by height' only method for items less than 2cm in height.
I'm very grateful for your AustPost contribution. It is working very well for me, and more so now that I've got these letter issues resolved.
Thanks again Rod!
Cheers
GAM
Re: AustPost - improved issues.
Hi again Rod, something that I meant to ask you before but keep forgetting...
What are the issues with implementing ECI (Express Courier International) into the existing code?
From the DRC documentation, it seems like it is simply a matter of inserting the additional Service Type codes, associated lookups and text/formatting inclusions for relevant pages. Obviously there is more to it than that as I believe you would have implemented it if was that easy, but I am wondering whether there are any show stoppers to getting this incorporated.
Cheers
GAM
Re: AustPost - improved issues.
Hi GAM,
> What are the issues with implementing ECI (Express Courier
> International) into the existing code?
> From the DRC documentation, it seems like it is simply a matter
> of inserting the additional Service Type codes,
Unless you have found some different documention than I have, the only service types supported by the DRC server are 'STANDARD', 'EXPRESS','AIR', 'SEA', 'ECONOMY'
(With Economy no longer supported).
If ECI were a supported DRC option it would be quite trivial to support it with the AP module, but without the DRC support it'll be a maintainence nightmare (prices would need to be obtained from local/predefined rates).
Cheers
Rod
Re: AustPost - improved issues.
Dodgy extract from the current version of the AusPost Word document on the subject, 'DRC_Instructions1.doc':
Service_Type The type of delivery service required. Typically entered by the Consumer from a selection list. Options are :
DOMESTIC
“Standard” = Regular Parcels
“Express” = Express Parcels
INTERNATIONAL
“Air” = Air Mail
“Sea” = Sea Mail
“ECI_D” = Express Courier International Document
“ECI_M” = Express Courier International Merchandise
“EPI” = Express Post International
DOMESTIC
'STANDARD'
'EXPRESS'
INTERNATIONAL
'AIR'
'SEA'
‘ECI_D’
‘ECI_M’
‘EPI’
Cheers
GAM
Re: AustPost - improved issues.
G'day GAM
> Dodgy extract from the current version of the AusPost Word
> document on the subject, 'DRC_Instructions1.doc':
Way Cool. Those options seem to work quite well. :-)
Do you happen to have a URL to the full document?
I don't need it in order to implement those features, but it is obviously a document/location that I should to keep an eye on for any important changes.
I'll certainly be adding these options now that I know they are available (and operational). I'm kinda itching to get onto it now, but I really need to be spending my time studying for exams and completing other assignments.
Cheers and Thanks. You've done a good service to us all. :-)
Rod
Re: AustPost - improved issues.
Quote:
Originally Posted by
RodG
G'day GAM
> Dodgy extract from the current version of the AusPost Word
> document on the subject, 'DRC_Instructions1.doc':
Way Cool. Those options seem to work quite well. :-)
Do you happen to have a URL to the full document?
I don't need it in order to implement those features, but it is obviously a document/location that I should to keep an eye on for any important changes.
I'll certainly be adding these options now that I know they are available (and operational). I'm kinda itching to get onto it now, but I really need to be spending my time studying for exams and completing other assignments.
Cheers and Thanks. You've done a good service to us all. :-)
Rod
Hi Rod,
I'm very glad to hear this as this will be a very welcome addition to my site. As it happens now, if I want to send International and use ECI, I have to start exchanging emails with quotes etc... less than desirable. ;)
I had to register and agree to their Terms and Conditions before they sent the document to me via email. I can't verify the exact address as their/my server seems to be playing up, funnily enough.
http://www.austpost.com.au/IXP/0,108...7EMO19,00.html - Online Delivery Rate Calculator gets you to the following page which is currently inaccessible for me:
https://www.edeliver.com.au/template..._DRC_Terms.htm
One thing of note is their (new) requirement to agree to display their disclaimer when quoting rates from the the DRC server. This might be a nuisance for you, but hopefully you can incorporate it somehow.
If there is anyway I can help and if you want me to perform testing etc, please don't hesitate to ask as the sooner I can offer online quotes for ECI the better! :) (No doubt a sentiment shared by many)
Cheers
GAM