/* This macro will be parsed as PHP code (see http://www.php.net) The calculateshipping function is called every time a shipping calculation request is made by Shopify. The function must return an array of available shipping options, otherwise no shipping options will be returned to your customers. */ function calculateshipping($DATA) { /* do not edit above this line */ $_RATES = array(); if ($DATA['destination']['country'] != 'AU') return array(); $rateOrderThreshold = 0.097; //9.7% $require_directexpress = getcollection(164332423); //direct express rates $directexpress_markup = 1.15; $directexpress_zones = array( array('start'=>800,'end'=>840,'zone'=>'DARW'), array('start'=>841,'end'=>847,'zone'=>'NT'), array('start'=>850,'end'=>853,'zone'=>'KATH'), array('start'=>854,'end'=>854,'zone'=>'NT'), array('start'=>860,'end'=>860,'zone'=>'TENN'), array('start'=>861,'end'=>861,'zone'=>'NT'), array('start'=>862,'end'=>862,'zone'=>'TENN'), array('start'=>870,'end'=>872,'zone'=>'ALIC'), array('start'=>880,'end'=>886,'zone'=>'NT'), array('start'=>2000,'end'=>2234,'zone'=>'SYDN'), array('start'=>2250,'end'=>2278,'zone'=>'GOSF'), array('start'=>2280,'end'=>2323,'zone'=>'NEWC'), array('start'=>2324,'end'=>2324,'zone'=>'NSW1'), array('start'=>2325,'end'=>2327,'zone'=>'NEWC'), array('start'=>2328,'end'=>2333,'zone'=>'NSW1'), array('start'=>2334,'end'=>2335,'zone'=>'NEWC'), array('start'=>2336,'end'=>2336,'zone'=>'NSW1'), array('start'=>2337,'end'=>2346,'zone'=>'NSW3'), array('start'=>2347,'end'=>2347,'zone'=>'NSW7'), array('start'=>2350,'end'=>2356,'zone'=>'NSW3'), array('start'=>2357,'end'=>2357,'zone'=>'NSW7'), array('start'=>2358,'end'=>2359,'zone'=>'NSW3'), array('start'=>2360,'end'=>2361,'zone'=>'NSW7'), array('start'=>2365,'end'=>2372,'zone'=>'NSW5'), array('start'=>2379,'end'=>2415,'zone'=>'NSW7'), array('start'=>2420,'end'=>2446,'zone'=>'NSW3'), array('start'=>2447,'end'=>2484,'zone'=>'NSW5'), array('start'=>2485,'end'=>2486,'zone'=>'TWHD'), array('start'=>2487,'end'=>2490,'zone'=>'NSW5'), array('start'=>2500,'end'=>2535,'zone'=>'WOLL'), array('start'=>2536,'end'=>2539,'zone'=>'NSW6'), array('start'=>2540,'end'=>2541,'zone'=>'NSW1'), array('start'=>2545,'end'=>2551,'zone'=>'NSW6'), array('start'=>2555,'end'=>2567,'zone'=>'SYDN'), array('start'=>2568,'end'=>2578,'zone'=>'NSW1'), array('start'=>2579,'end'=>2581,'zone'=>'NSW6'), array('start'=>2582,'end'=>2594,'zone'=>'NSW4'), array('start'=>2600,'end'=>2620,'zone'=>'CANB'), array('start'=>2621,'end'=>2633,'zone'=>'NSW6'), array('start'=>2640,'end'=>2641,'zone'=>'ALBU'), array('start'=>2642,'end'=>2730,'zone'=>'NSW4'), array('start'=>2731,'end'=>2739,'zone'=>'NSW7'), array('start'=>2745,'end'=>2770,'zone'=>'SYDN'), array('start'=>2773,'end'=>2794,'zone'=>'NSW1'), array('start'=>2795,'end'=>2820,'zone'=>'NSW2'), array('start'=>2821,'end'=>2829,'zone'=>'NSW7'), array('start'=>2830,'end'=>2830,'zone'=>'NSW2'), array('start'=>2831,'end'=>2834,'zone'=>'NSW7'), array('start'=>2835,'end'=>2840,'zone'=>'NSW8'), array('start'=>2842,'end'=>2844,'zone'=>'NSW2'), array('start'=>2845,'end'=>2847,'zone'=>'NSW1'), array('start'=>2848,'end'=>2871,'zone'=>'NSW2'), array('start'=>2873,'end'=>2877,'zone'=>'NSW7'), array('start'=>2878,'end'=>2878,'zone'=>'NSW8'), array('start'=>2879,'end'=>2880,'zone'=>'BROK'), array('start'=>2898,'end'=>2899,'zone'=>'NSW8'), array('start'=>2900,'end'=>2914,'zone'=>'CANB'), array('start'=>3000,'end'=>3207,'zone'=>'MELB'), array('start'=>3211,'end'=>3212,'zone'=>'VIC1'), array('start'=>3214,'end'=>3220,'zone'=>'GEEL'), array('start'=>3221,'end'=>3250,'zone'=>'VIC1'), array('start'=>3251,'end'=>3300,'zone'=>'VIC2'), array('start'=>3301,'end'=>3334,'zone'=>'VIC3'), array('start'=>3335,'end'=>3335,'zone'=>'VIC2'), array('start'=>3337,'end'=>3337,'zone'=>'VIC1'), array('start'=>3338,'end'=>3338,'zone'=>'VIC2'), array('start'=>3340,'end'=>3340,'zone'=>'VIC1'), array('start'=>3341,'end'=>3345,'zone'=>'VIC3'), array('start'=>3350,'end'=>3357,'zone'=>'BALL'), array('start'=>3360,'end'=>3360,'zone'=>'VIC1'), array('start'=>3361,'end'=>3361,'zone'=>'VIC2'), array('start'=>3363,'end'=>3363,'zone'=>'BALL'), array('start'=>3364,'end'=>3370,'zone'=>'VIC1'), array('start'=>3371,'end'=>3390,'zone'=>'VIC2'), array('start'=>3391,'end'=>3396,'zone'=>'VIC3'), array('start'=>3400,'end'=>3402,'zone'=>'VIC2'), array('start'=>3407,'end'=>3427,'zone'=>'VIC3'), array('start'=>3428,'end'=>3462,'zone'=>'VIC1'), array('start'=>3463,'end'=>3463,'zone'=>'VIC3'), array('start'=>3464,'end'=>3480,'zone'=>'VIC2'), array('start'=>3482,'end'=>3512,'zone'=>'VIC3'), array('start'=>3515,'end'=>3529,'zone'=>'VIC2'), array('start'=>3530,'end'=>3531,'zone'=>'VIC1'), array('start'=>3533,'end'=>3537,'zone'=>'VIC2'), array('start'=>3540,'end'=>3549,'zone'=>'VIC3'), array('start'=>3550,'end'=>3556,'zone'=>'VIC1'), array('start'=>3557,'end'=>3559,'zone'=>'VIC2'), array('start'=>3561,'end'=>3561,'zone'=>'VIC1'), array('start'=>3562,'end'=>3581,'zone'=>'VIC2'), array('start'=>3583,'end'=>3584,'zone'=>'VIC3'), array('start'=>3585,'end'=>3585,'zone'=>'VIC2'), array('start'=>3586,'end'=>3594,'zone'=>'VIC3'), array('start'=>3595,'end'=>3597,'zone'=>'VIC2'), array('start'=>3599,'end'=>3607,'zone'=>'VIC3'), array('start'=>3608,'end'=>3610,'zone'=>'VIC1'), array('start'=>3612,'end'=>3649,'zone'=>'VIC2'), array('start'=>3658,'end'=>3666,'zone'=>'VIC1'), array('start'=>3669,'end'=>3688,'zone'=>'VIC2'), array('start'=>3689,'end'=>3690,'zone'=>'ALBU'), array('start'=>3691,'end'=>3709,'zone'=>'VIC3'), array('start'=>3711,'end'=>3719,'zone'=>'VIC1'), array('start'=>3720,'end'=>3749,'zone'=>'VIC2'), array('start'=>3750,'end'=>3751,'zone'=>'VIC1'), array('start'=>3752,'end'=>3752,'zone'=>'MELB'), array('start'=>3753,'end'=>3763,'zone'=>'VIC1'), array('start'=>3764,'end'=>3764,'zone'=>'VIC2'), array('start'=>3765,'end'=>3799,'zone'=>'VIC1'), array('start'=>3800,'end'=>3804,'zone'=>'MELB'), array('start'=>3805,'end'=>3805,'zone'=>'VIC1'), array('start'=>3806,'end'=>3806,'zone'=>'MELB'), array('start'=>3807,'end'=>3841,'zone'=>'VIC1'), array('start'=>3842,'end'=>3842,'zone'=>'VIC2'), array('start'=>3844,'end'=>3844,'zone'=>'VIC1'), array('start'=>3847,'end'=>3880,'zone'=>'VIC2'), array('start'=>3882,'end'=>3900,'zone'=>'VIC3'), array('start'=>3902,'end'=>3903,'zone'=>'VIC2'), array('start'=>3904,'end'=>3909,'zone'=>'VIC3'), array('start'=>3910,'end'=>3927,'zone'=>'VIC1'), array('start'=>3928,'end'=>3928,'zone'=>'VIC2'), array('start'=>3929,'end'=>3957,'zone'=>'VIC1'), array('start'=>3958,'end'=>3971,'zone'=>'VIC2'), array('start'=>3975,'end'=>3976,'zone'=>'MELB'), array('start'=>3977,'end'=>3996,'zone'=>'VIC1'), array('start'=>4000,'end'=>4179,'zone'=>'BRIS'), array('start'=>4183,'end'=>4184,'zone'=>'QLD1'), array('start'=>4205,'end'=>4230,'zone'=>'GOLD'), array('start'=>4270,'end'=>4287,'zone'=>'QLD1'), array('start'=>4300,'end'=>4301,'zone'=>'BRIS'), array('start'=>4303,'end'=>4305,'zone'=>'IPSW'), array('start'=>4306,'end'=>4347,'zone'=>'QLD1'), array('start'=>4350,'end'=>4350,'zone'=>'TWOO'), array('start'=>4352,'end'=>4383,'zone'=>'QLD1'), array('start'=>4384,'end'=>4416,'zone'=>'QLD2'), array('start'=>4417,'end'=>4417,'zone'=>'QLD7'), array('start'=>4418,'end'=>4419,'zone'=>'QLD2'), array('start'=>4420,'end'=>4420,'zone'=>'QLD7'), array('start'=>4421,'end'=>4427,'zone'=>'QLD2'), array('start'=>4428,'end'=>4471,'zone'=>'QLD7'), array('start'=>4472,'end'=>4472,'zone'=>'QLD6'), array('start'=>4474,'end'=>4479,'zone'=>'QLD7'), array('start'=>4480,'end'=>4482,'zone'=>'QLD8'), array('start'=>4486,'end'=>4488,'zone'=>'QLD7'), array('start'=>4489,'end'=>4493,'zone'=>'QLD8'), array('start'=>4494,'end'=>4498,'zone'=>'QLD7'), array('start'=>4500,'end'=>4505,'zone'=>'BRIS'), array('start'=>4506,'end'=>4506,'zone'=>'SUNS'), array('start'=>4507,'end'=>4507,'zone'=>'QLD1'), array('start'=>4508,'end'=>4509,'zone'=>'BRIS'), array('start'=>4510,'end'=>4510,'zone'=>'SUNS'), array('start'=>4511,'end'=>4521,'zone'=>'QLD1'), array('start'=>4550,'end'=>4569,'zone'=>'SUNS'), array('start'=>4570,'end'=>4570,'zone'=>'MARY'), array('start'=>4571,'end'=>4571,'zone'=>'QLD2'), array('start'=>4572,'end'=>4575,'zone'=>'SUNS'), array('start'=>4580,'end'=>4580,'zone'=>'QLD3'), array('start'=>4581,'end'=>4581,'zone'=>'MARY'), array('start'=>4600,'end'=>4615,'zone'=>'QLD2'), array('start'=>4620,'end'=>4620,'zone'=>'QLD1'), array('start'=>4621,'end'=>4630,'zone'=>'QLD2'), array('start'=>4650,'end'=>4650,'zone'=>'MARY'), array('start'=>4655,'end'=>4662,'zone'=>'QLD2'), array('start'=>4670,'end'=>4670,'zone'=>'BUND'), array('start'=>4671,'end'=>4676,'zone'=>'QLD2'), array('start'=>4677,'end'=>4678,'zone'=>'QLD3'), array('start'=>4680,'end'=>4680,'zone'=>'GLAD'), array('start'=>4694,'end'=>4699,'zone'=>'QLD3'), array('start'=>4700,'end'=>4701,'zone'=>'ROCK'), array('start'=>4702,'end'=>4704,'zone'=>'QLD3'), array('start'=>4705,'end'=>4709,'zone'=>'QLD4'), array('start'=>4710,'end'=>4720,'zone'=>'QLD3'), array('start'=>4721,'end'=>4723,'zone'=>'QLD4'), array('start'=>4724,'end'=>4735,'zone'=>'QLD6'), array('start'=>4736,'end'=>4736,'zone'=>'QLD8'), array('start'=>4737,'end'=>4739,'zone'=>'QLD4'), array('start'=>4740,'end'=>4741,'zone'=>'MCKY'), array('start'=>4742,'end'=>4805,'zone'=>'QLD4'), array('start'=>4806,'end'=>4809,'zone'=>'QLD5'), array('start'=>4810,'end'=>4810,'zone'=>'TOWN'), array('start'=>4811,'end'=>4811,'zone'=>'QLD5'), array('start'=>4812,'end'=>4814,'zone'=>'TOWN'), array('start'=>4815,'end'=>4822,'zone'=>'QLD5'), array('start'=>4823,'end'=>4825,'zone'=>'QLD6'), array('start'=>4828,'end'=>4830,'zone'=>'QLD8'), array('start'=>4849,'end'=>4865,'zone'=>'QLD5'), array('start'=>4868,'end'=>4868,'zone'=>'CRNS'), array('start'=>4869,'end'=>4869,'zone'=>'QLD5'), array('start'=>4870,'end'=>4870,'zone'=>'CRNS'), array('start'=>4871,'end'=>4871,'zone'=>'QLD8'), array('start'=>4872,'end'=>4873,'zone'=>'QLD5'), array('start'=>4874,'end'=>4877,'zone'=>'QLD8'), array('start'=>4878,'end'=>4878,'zone'=>'CRNS'), array('start'=>4879,'end'=>4887,'zone'=>'QLD5'), array('start'=>4888,'end'=>4895,'zone'=>'QLD8'), array('start'=>5000,'end'=>5115,'zone'=>'ADEL'), array('start'=>5116,'end'=>5121,'zone'=>'SA1'), array('start'=>5125,'end'=>5127,'zone'=>'ADEL'), array('start'=>5131,'end'=>5157,'zone'=>'SA1'), array('start'=>5158,'end'=>5162,'zone'=>'ADEL'), array('start'=>5163,'end'=>5163,'zone'=>'SA1'), array('start'=>5164,'end'=>5166,'zone'=>'ADEL'), array('start'=>5167,'end'=>5167,'zone'=>'SA1'), array('start'=>5168,'end'=>5168,'zone'=>'ADEL'), array('start'=>5169,'end'=>5214,'zone'=>'SA1'), array('start'=>5220,'end'=>5223,'zone'=>'SA2'), array('start'=>5231,'end'=>5261,'zone'=>'SA1'), array('start'=>5262,'end'=>5263,'zone'=>'SA3'), array('start'=>5264,'end'=>5267,'zone'=>'SA1'), array('start'=>5268,'end'=>5269,'zone'=>'SA2'), array('start'=>5270,'end'=>5270,'zone'=>'SA1'), array('start'=>5271,'end'=>5275,'zone'=>'SA3'), array('start'=>5276,'end'=>5276,'zone'=>'SA2'), array('start'=>5277,'end'=>5291,'zone'=>'SA3'), array('start'=>5301,'end'=>5301,'zone'=>'SA1'), array('start'=>5302,'end'=>5304,'zone'=>'SA2'), array('start'=>5306,'end'=>5309,'zone'=>'SA1'), array('start'=>5310,'end'=>5312,'zone'=>'SA2'), array('start'=>5320,'end'=>5330,'zone'=>'SA1'), array('start'=>5331,'end'=>5346,'zone'=>'SA2'), array('start'=>5350,'end'=>5419,'zone'=>'SA1'), array('start'=>5420,'end'=>5433,'zone'=>'SA2'), array('start'=>5434,'end'=>5440,'zone'=>'SA3'), array('start'=>5451,'end'=>5471,'zone'=>'SA1'), array('start'=>5472,'end'=>5495,'zone'=>'SA2'), array('start'=>5501,'end'=>5523,'zone'=>'SA1'), array('start'=>5540,'end'=>5540,'zone'=>'SA2'), array('start'=>5550,'end'=>5573,'zone'=>'SA1'), array('start'=>5575,'end'=>5583,'zone'=>'SA2'), array('start'=>5600,'end'=>5690,'zone'=>'SA3'), array('start'=>5700,'end'=>5710,'zone'=>'SA2'), array('start'=>5720,'end'=>5734,'zone'=>'SA3'), array('start'=>5950,'end'=>5950,'zone'=>'ADEL'), array('start'=>6000,'end'=>6181,'zone'=>'PERT'), array('start'=>6207,'end'=>6213,'zone'=>'WA1'), array('start'=>6214,'end'=>6214,'zone'=>'WA3'), array('start'=>6215,'end'=>6232,'zone'=>'WA1'), array('start'=>6233,'end'=>6244,'zone'=>'WA2'), array('start'=>6251,'end'=>6251,'zone'=>'WA1'), array('start'=>6252,'end'=>6275,'zone'=>'WA2'), array('start'=>6280,'end'=>6280,'zone'=>'WA1'), array('start'=>6281,'end'=>6288,'zone'=>'WA2'), array('start'=>6290,'end'=>6290,'zone'=>'WA3'), array('start'=>6302,'end'=>6320,'zone'=>'WA2'), array('start'=>6321,'end'=>6359,'zone'=>'WA3'), array('start'=>6361,'end'=>6386,'zone'=>'WA2'), array('start'=>6390,'end'=>6390,'zone'=>'WA1'), array('start'=>6391,'end'=>6395,'zone'=>'WA2'), array('start'=>6396,'end'=>6398,'zone'=>'WA3'), array('start'=>6401,'end'=>6405,'zone'=>'WA1'), array('start'=>6407,'end'=>6422,'zone'=>'WA2'), array('start'=>6423,'end'=>6426,'zone'=>'WA3'), array('start'=>6427,'end'=>6427,'zone'=>'WA1'), array('start'=>6428,'end'=>6429,'zone'=>'WA2'), array('start'=>6430,'end'=>6433,'zone'=>'WA3'), array('start'=>6434,'end'=>6434,'zone'=>'WA5'), array('start'=>6436,'end'=>6440,'zone'=>'WA4'), array('start'=>6442,'end'=>6442,'zone'=>'WA3'), array('start'=>6443,'end'=>6452,'zone'=>'WA4'), array('start'=>6460,'end'=>6460,'zone'=>'WA1'), array('start'=>6461,'end'=>6470,'zone'=>'WA2'), array('start'=>6472,'end'=>6473,'zone'=>'WA3'), array('start'=>6475,'end'=>6485,'zone'=>'WA2'), array('start'=>6487,'end'=>6488,'zone'=>'WA3'), array('start'=>6489,'end'=>6490,'zone'=>'WA2'), array('start'=>6501,'end'=>6510,'zone'=>'WA1'), array('start'=>6511,'end'=>6518,'zone'=>'WA2'), array('start'=>6519,'end'=>6519,'zone'=>'WA3'), array('start'=>6521,'end'=>6521,'zone'=>'WA2'), array('start'=>6522,'end'=>6536,'zone'=>'WA3'), array('start'=>6537,'end'=>6537,'zone'=>'WA4'), array('start'=>6556,'end'=>6569,'zone'=>'WA1'), array('start'=>6571,'end'=>6614,'zone'=>'WA2'), array('start'=>6616,'end'=>6640,'zone'=>'WA3'), array('start'=>6642,'end'=>6705,'zone'=>'WA4'), array('start'=>6707,'end'=>6799,'zone'=>'WA5'), array('start'=>7000,'end'=>7020,'zone'=>'HOBA'), array('start'=>7021,'end'=>7055,'zone'=>'TAS'), array('start'=>7109,'end'=>7119,'zone'=>'HOBA'), array('start'=>7120,'end'=>7140,'zone'=>'TAS'), array('start'=>7150,'end'=>7190,'zone'=>'HOBA'), array('start'=>7209,'end'=>7249,'zone'=>'TAS'), array('start'=>7250,'end'=>7260,'zone'=>'LAUN'), ); $directexpress_rates = array( 'ADEL' => array('basic'=>9.70,'pkg'=>0.370), 'BRIS' => array('basic'=>9.70,'pkg'=>0.560), 'MELB' => array('basic'=>9.70,'pkg'=>0.260), 'PERT' => array('basic'=>9.70,'pkg'=>1.020), 'SYDN' => array('basic'=>9.70,'pkg'=>0.370), 'ALBU' => array('basic'=>9.70,'pkg'=>0.420), 'ALIC' => array('basic'=>12.00,'pkg'=>1.490), 'BALL' => array('basic'=>9.70,'pkg'=>0.280), 'BROK' => array('basic'=>10.80,'pkg'=>1.030), 'BUND' => array('basic'=>10.80,'pkg'=>0.900), 'CANB' => array('basic'=>9.70,'pkg'=>0.400), 'CRNS' => array('basic'=>9.70,'pkg'=>1.200), 'DARW' => array('basic'=>12.00,'pkg'=>1.240), 'GEEL' => array('basic'=>9.70,'pkg'=>0.270), 'GLAD' => array('basic'=>10.80,'pkg'=>1.090), 'GOLD' => array('basic'=>9.70,'pkg'=>0.600), 'GOSF' => array('basic'=>10.80,'pkg'=>0.510), 'HOBA' => array('basic'=>10.80,'pkg'=>0.920), 'IPSW' => array('basic'=>9.70,'pkg'=>0.580), 'KATH' => array('basic'=>12.00,'pkg'=>2.040), 'LAUN' => array('basic'=>10.80,'pkg'=>0.920), 'MARY' => array('basic'=>10.80,'pkg'=>0.940), 'MCKY' => array('basic'=>10.80,'pkg'=>1.010), 'NEWC' => array('basic'=>10.80,'pkg'=>0.530), 'NSW1' => array('basic'=>10.80,'pkg'=>0.580), 'NSW2' => array('basic'=>10.80,'pkg'=>0.630), 'NSW3' => array('basic'=>10.80,'pkg'=>0.710), 'NSW4' => array('basic'=>10.80,'pkg'=>0.580), 'NSW5' => array('basic'=>10.80,'pkg'=>0.910), 'NSW6' => array('basic'=>10.80,'pkg'=>0.750), 'NSW7' => array('basic'=>10.80,'pkg'=>1.150), 'NSW8' => array('basic'=>10.80,'pkg'=>1.480), 'NT' => array('basic'=>34.20,'pkg'=>4.530), 'QLD1' => array('basic'=>12.00,'pkg'=>0.860), 'QLD2' => array('basic'=>12.00,'pkg'=>1.000), 'QLD3' => array('basic'=>12.00,'pkg'=>1.080), 'QLD4' => array('basic'=>12.00,'pkg'=>1.200), 'QLD5' => array('basic'=>13.10,'pkg'=>1.630), 'QLD6' => array('basic'=>15.40,'pkg'=>1.910), 'QLD7' => array('basic'=>15.40,'pkg'=>2.080), 'QLD8' => array('basic'=>15.40,'pkg'=>2.520), 'ROCK' => array('basic'=>10.80,'pkg'=>0.920), 'SA1' => array('basic'=>10.80,'pkg'=>0.620), 'SA2' => array('basic'=>10.80,'pkg'=>0.680), 'SA3' => array('basic'=>10.80,'pkg'=>0.780), 'SUNS' => array('basic'=>10.80,'pkg'=>0.780), 'TAS' => array('basic'=>18.80,'pkg'=>1.090), 'TENN' => array('basic'=>18.80,'pkg'=>1.740), 'TOWN' => array('basic'=>10.80,'pkg'=>1.080), 'TWHD' => array('basic'=>10.80,'pkg'=>0.750), 'TWOO' => array('basic'=>10.80,'pkg'=>0.850), 'VIC1' => array('basic'=>9.70,'pkg'=>0.310), 'VIC2' => array('basic'=>9.70,'pkg'=>0.360), 'VIC3' => array('basic'=>9.70,'pkg'=>0.400), 'WA1' => array('basic'=>12.00,'pkg'=>1.250), 'WA2' => array('basic'=>12.00,'pkg'=>1.550), 'WA3' => array('basic'=>17.70,'pkg'=>1.700), 'WA4' => array('basic'=>17.70,'pkg'=>2.290), 'WA5' => array('basic'=>17.70,'pkg'=>4.220), 'WOLL' => array('basic'=>10.80,'pkg'=>0.480), ); //australia post rates $austpost_zones = array( array('start'=>200,'end'=>299,'zone'=>'CB'), array('start'=>800,'end'=>802,'zone'=>'NT1'), array('start'=>803,'end'=>803,'zone'=>'NT2'), array('start'=>804,'end'=>821,'zone'=>'NT1'), array('start'=>822,'end'=>827,'zone'=>'NT2'), array('start'=>828,'end'=>851,'zone'=>'NT1'), array('start'=>852,'end'=>852,'zone'=>'NT2'), array('start'=>853,'end'=>853,'zone'=>'NT1'), array('start'=>854,'end'=>859,'zone'=>'NT2'), array('start'=>860,'end'=>861,'zone'=>'NT1'), array('start'=>862,'end'=>869,'zone'=>'NT2'), array('start'=>870,'end'=>871,'zone'=>'NT1'), array('start'=>872,'end'=>872,'zone'=>'NT2'), array('start'=>873,'end'=>879,'zone'=>'NT1'), array('start'=>880,'end'=>905,'zone'=>'NT2'), array('start'=>906,'end'=>999,'zone'=>'NT1'), array('start'=>1000,'end'=>1935,'zone'=>'N1'), array('start'=>1936,'end'=>1999,'zone'=>'N3'), array('start'=>2000,'end'=>2249,'zone'=>'N1'), array('start'=>2250,'end'=>2263,'zone'=>'GF'), array('start'=>2264,'end'=>2281,'zone'=>'N2'), array('start'=>2282,'end'=>2310,'zone'=>'NC'), array('start'=>2311,'end'=>2484,'zone'=>'N2'), array('start'=>2485,'end'=>2486,'zone'=>'N4'), array('start'=>2487,'end'=>2499,'zone'=>'N2'), array('start'=>2500,'end'=>2507,'zone'=>'WG'), array('start'=>2508,'end'=>2514,'zone'=>'N1'), array('start'=>2515,'end'=>2532,'zone'=>'WG'), array('start'=>2533,'end'=>2554,'zone'=>'N2'), array('start'=>2555,'end'=>2574,'zone'=>'N1'), array('start'=>2575,'end'=>2599,'zone'=>'N2'), array('start'=>2600,'end'=>2620,'zone'=>'CB'), array('start'=>2621,'end'=>2639,'zone'=>'N2'), array('start'=>2640,'end'=>2641,'zone'=>'N3'), array('start'=>2642,'end'=>2647,'zone'=>'N2'), array('start'=>2648,'end'=>2648,'zone'=>'V2'), array('start'=>2649,'end'=>2707,'zone'=>'N2'), array('start'=>2708,'end'=>2709,'zone'=>'N3'), array('start'=>2710,'end'=>2714,'zone'=>'N2'), array('start'=>2715,'end'=>2715,'zone'=>'V2'), array('start'=>2716,'end'=>2716,'zone'=>'N2'), array('start'=>2717,'end'=>2719,'zone'=>'V2'), array('start'=>2720,'end'=>2730,'zone'=>'N2'), array('start'=>2731,'end'=>2739,'zone'=>'V2'), array('start'=>2740,'end'=>2786,'zone'=>'N1'), array('start'=>2787,'end'=>2879,'zone'=>'N2'), array('start'=>2880,'end'=>2889,'zone'=>'S2'), array('start'=>2890,'end'=>2897,'zone'=>'N1'), array('start'=>2898,'end'=>2899,'zone'=>'NF'), array('start'=>2900,'end'=>2920,'zone'=>'CB'), array('start'=>3000,'end'=>3210,'zone'=>'V1'), array('start'=>3211,'end'=>3220,'zone'=>'GL'), array('start'=>3221,'end'=>3334,'zone'=>'V2'), array('start'=>3335,'end'=>3341,'zone'=>'V1'), array('start'=>3342,'end'=>3349,'zone'=>'V2'), array('start'=>3350,'end'=>3350,'zone'=>'BR'), array('start'=>3351,'end'=>3352,'zone'=>'V2'), array('start'=>3353,'end'=>3356,'zone'=>'BR'), array('start'=>3357,'end'=>3426,'zone'=>'V2'), array('start'=>3427,'end'=>3443,'zone'=>'V1'), array('start'=>3444,'end'=>3688,'zone'=>'V2'), array('start'=>3689,'end'=>3690,'zone'=>'V3'), array('start'=>3691,'end'=>3749,'zone'=>'V2'), array('start'=>3750,'end'=>3811,'zone'=>'V1'), array('start'=>3812,'end'=>3909,'zone'=>'V2'), array('start'=>3910,'end'=>3920,'zone'=>'V1'), array('start'=>3921,'end'=>3925,'zone'=>'V2'), array('start'=>3926,'end'=>3944,'zone'=>'V1'), array('start'=>3945,'end'=>3974,'zone'=>'V2'), array('start'=>3975,'end'=>3978,'zone'=>'V1'), array('start'=>3979,'end'=>3979,'zone'=>'V2'), array('start'=>3980,'end'=>3983,'zone'=>'V1'), array('start'=>3984,'end'=>3999,'zone'=>'V2'), array('start'=>4000,'end'=>4209,'zone'=>'Q1'), array('start'=>4210,'end'=>4224,'zone'=>'GC'), array('start'=>4225,'end'=>4225,'zone'=>'Q5'), array('start'=>4226,'end'=>4269,'zone'=>'GC'), array('start'=>4270,'end'=>4299,'zone'=>'Q1'), array('start'=>4300,'end'=>4308,'zone'=>'IP'), array('start'=>4309,'end'=>4453,'zone'=>'Q2'), array('start'=>4454,'end'=>4499,'zone'=>'Q3'), array('start'=>4500,'end'=>4549,'zone'=>'Q1'), array('start'=>4550,'end'=>4579,'zone'=>'SC'), array('start'=>4580,'end'=>4693,'zone'=>'Q2'), array('start'=>4694,'end'=>4802,'zone'=>'Q3'), array('start'=>4803,'end'=>4803,'zone'=>'Q4'), array('start'=>4804,'end'=>4805,'zone'=>'Q3'), array('start'=>4806,'end'=>4999,'zone'=>'Q4'), array('start'=>5000,'end'=>5200,'zone'=>'S1'), array('start'=>5201,'end'=>5749,'zone'=>'S2'), array('start'=>5800,'end'=>5999,'zone'=>'S1'), array('start'=>6000,'end'=>6214,'zone'=>'W1'), array('start'=>6215,'end'=>6700,'zone'=>'W2'), array('start'=>6701,'end'=>6797,'zone'=>'W3'), array('start'=>6798,'end'=>6799,'zone'=>'W4'), array('start'=>6800,'end'=>6999,'zone'=>'W1'), array('start'=>7000,'end'=>7150,'zone'=>'T1'), array('start'=>7151,'end'=>7154,'zone'=>'AAT'), array('start'=>7155,'end'=>7999,'zone'=>'T1'), array('start'=>8000,'end'=>8999,'zone'=>'V1'), array('start'=>9000,'end'=>9725,'zone'=>'Q1'), array('start'=>9726,'end'=>9799,'zone'=>'GC'), array('start'=>9880,'end'=>9919,'zone'=>'GC'), array('start'=>9920,'end'=>9960,'zone'=>'Q3'), array('start'=>9961,'end'=>9998,'zone'=>'Q4'), array('start'=>9999,'end'=>9999,'zone'=>'V1'), ); $austpost_rates = array( 'N1'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>0.4180), 'GF'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>0.5720), 'WG'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>0.5720), 'NC'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>0.5720), 'CB'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>0.5720), 'N3'=>array('basic'=>9.7900,'sub'=>8.1400,'pkg'=>0.4950), 'N4'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>0.7150), 'N2'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>0.7150), 'V1'=>array('basic'=>7.7400,'sub'=>6.4570,'pkg'=>0.0000), 'GL'=>array('basic'=>9.3940,'sub'=>7.7440,'pkg'=>0.2970), 'BR'=>array('basic'=>9.7900,'sub'=>8.1400,'pkg'=>0.4950), 'V3'=>array('basic'=>10.1860,'sub'=>8.5360,'pkg'=>0.5830), 'V2'=>array('basic'=>10.1860,'sub'=>8.5360,'pkg'=>0.5830), 'Q1'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>0.5500), 'IP'=>array('basic'=>10.7690,'sub'=>9.1190,'pkg'=>1.1110), 'GC'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>1.0780), 'Q5'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>0.6930), 'SC'=>array('basic'=>10.7690,'sub'=>9.1190,'pkg'=>1.1110), 'Q2'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>1.3530), 'Q3'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>1.5950), 'Q4'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>1.8150), 'S1'=>array('basic'=>9.4930,'sub'=>7.8430,'pkg'=>0.4180), 'S2'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>0.8800), 'W1'=>array('basic'=>10.7690,'sub'=>9.1190,'pkg'=>1.2650), 'W2'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>2.4530), 'W3'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>2.7280), 'T1'=>array('basic'=>10.7690,'sub'=>9.1190,'pkg'=>0.5940), 'NT1'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>2.6950), 'NT2'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>2.6950), 'NF'=>array('basic'=>11.2860,'sub'=>9.6360,'pkg'=>2.2000), 'W4'=>array('basic'=>12.2760,'sub'=>10.6260,'pkg'=>2.4750), 'AAT'=>array('basic'=>11.2860,'sub'=>9.6360,'pkg'=>0.6600), ); $usedirectexpress = false; $items = array(); $total = 0; foreach ($DATA['items'] as $item) { if (in_array($item['product_id'],$require_directexpress)) { $usedirectexpress = true; } for ($i=1;$i<=$item['quantity'];$i++) { $items[] = $item['grams']/1000; } $total += $item['quantity']*$item['price']/100; } $pc = intval($DATA['destination']['postal_code']); if ($usedirectexpress) { $zone = null; foreach ($directexpress_zones as $z) { if ($z['start'] <= $pc && $pc <= $z['end']) { $zone = $z['zone']; break; } } if ($zone !== null) { $i = 0; $rate = 0; foreach ($items as $itemweight) { if ($i == 0) { $basic = $directexpress_rates[$zone]['basic']; } else { $basic = 0; } $rate += $basic + ($directexpress_rates[$zone]['pkg']*$itemweight); $i++; } if ($rate < $rateOrderThreshold*$total) $rate = $rateOrderThreshold*$total; $_RATES[] = array( "service_name" => "Direct Express", //this is what the customer will see "service_code" => "DIRECTEXPRESS", //can be anything you like "total_price" => round(($rate*$directexpress_markup)*100), //in cents "currency" => "AUD", ); } } else { $zone = null; foreach ($austpost_zones as $z) { if ($z['start'] <= $pc && $pc <= $z['end']) { $zone = $z['zone']; break; } } if ($zone !== null) { $i = 0; $rate = 0; foreach ($items as $itemweight) { if ($i == 0) { $basic = $austpost_rates[$zone]['basic']; } else { $basic = $austpost_rates[$zone]['sub']; } if ($itemweight <= 0.5) { $rate = 7.95; } else { $rate += $basic + ($austpost_rates[$zone]['pkg']*$itemweight); } $i++; } if ($rate < $rateOrderThreshold*$total) $rate = $rateOrderThreshold*$total; $_RATES[] = array( "service_name" => "Australia Post", //this is what the customer will see "service_code" => "EPARCEL", //can be anything you like "total_price" => round(($rate)*100), //in cents "currency" => "AUD", ); } } return $_RATES; /* do not edit below this line */ }