Temando_Temando - Version 1.3.1

Version Notes

Temando Shipping Extension – Starter Version
• New Feature: Ability to update carriers from API
• New Feature: Advanced tracking histories
• Additional changes to language file
• Miscellaneous bug fixes

Download this release

Release Info

Developer Temando
Extension Temando_Temando
Version 1.3.1
Comparing to
See all releases


Code changes from version 1.1.3 to 1.3.1

app/code/community/Temando/Temando/Block/Adminhtml/Manifest/Filter/Form.php CHANGED
@@ -15,7 +15,7 @@ class Temando_Temando_Block_Adminhtml_Manifest_Filter_Form extends Mage_Adminhtm
15
  );
16
  $htmlIdPrefix = 'add_manifest_';
17
  $form->setHtmlIdPrefix($htmlIdPrefix);
18
- $fieldset = $form->addFieldset('base_fieldset', array('legend'=>Mage::helper('temando')->__('Create New Manifest - Please note, to manifest you must have a permanent pickup. Contact <a href="mailto:sales@temando.com">sales@temando.com</a> for more information.')));
19
 
20
  $dateFormatIso = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
21
 
15
  );
16
  $htmlIdPrefix = 'add_manifest_';
17
  $form->setHtmlIdPrefix($htmlIdPrefix);
18
+ $fieldset = $form->addFieldset('base_fieldset', array('legend'=>Mage::helper('temando')->__("Create New Manifest - Please note, to manifest you must have a permanent pickup. Contact <a href='mailto:sales@temando.com'>sales@temando.com</a> for more information.")));
19
 
20
  $dateFormatIso = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
21
 
app/code/community/Temando/Temando/Block/Adminhtml/Shipment/Grid.php CHANGED
@@ -80,7 +80,7 @@ class Temando_Temando_Block_Adminhtml_Shipment_Grid extends Mage_Adminhtml_Block
80
  'header' => Mage::helper('temando')->__('Anticipated Cost'),
81
  'align' => 'left',
82
  'type' => 'currency',
83
- 'currency_code' => 'AUD',
84
  'index' => 'anticipated_cost',
85
  ));
86
 
80
  'header' => Mage::helper('temando')->__('Anticipated Cost'),
81
  'align' => 'left',
82
  'type' => 'currency',
83
+ 'currency_code' => Mage::helper('temando')->getDefaultCurrencyCode(),
84
  'index' => 'anticipated_cost',
85
  ));
86
 
app/code/community/Temando/Temando/Block/Adminhtml/System/Config/Form/Button/Update.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Temando_Temando_Block_Adminhtml_System_Config_Form_Button_Update extends Mage_Adminhtml_Block_System_Config_Form_Field {
4
+
5
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
6
+ $this->setElement($element);
7
+ $html = $this->getLayout()
8
+ ->createBlock('adminhtml/widget_button')
9
+ ->setType('button')->setClass('scalable go')
10
+ ->setLabel('Update Carriers')
11
+ ->setOnClick('setLocation(\'' . $this->getUrl('temando/adminhtml_carrier') .'\')')
12
+ ->setTitle('Update Carriers')
13
+ ->toHtml();
14
+ return $html;
15
+ }
16
+
17
+ }
app/code/community/Temando/Temando/Block/Product/Shipping.php CHANGED
@@ -18,7 +18,7 @@ class Temando_Temando_Block_Product_Shipping extends Mage_Core_Block_Template
18
  return Mage::getSingleton('customer/session')->getData('estimate_product_shipping')->getCountryId();
19
  }
20
 
21
- return 'AU';
22
  }
23
 
24
  public function getProductId()
18
  return Mage::getSingleton('customer/session')->getData('estimate_product_shipping')->getCountryId();
19
  }
20
 
21
+ return Mage::helper('temando')->getDefaultCountryId();
22
  }
23
 
24
  public function getProductId()
app/code/community/Temando/Temando/Helper/Data.php CHANGED
@@ -4,6 +4,10 @@ class Temando_Temando_Helper_Data extends Mage_Core_Helper_Abstract {
4
 
5
  const DEFAULT_WAREHOUSE_NAME = 'Magento Warehouse';
6
 
 
 
 
 
7
  private $_temandoAttributes = array(
8
  'temando_packaging_mode',
9
  'temando_packaging',
@@ -14,8 +18,44 @@ class Temando_Temando_Helper_Data extends Mage_Core_Helper_Abstract {
14
  );
15
 
16
  protected $_allowedCountries = array(
17
- 'AU' => 'Australia',
 
 
 
18
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  /**
21
  * Retrieves an element from the module configuration data.
@@ -430,4 +470,31 @@ class Temando_Temando_Helper_Data extends Mage_Core_Helper_Abstract {
430
  return true;
431
  }
432
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
433
  }
4
 
5
  const DEFAULT_WAREHOUSE_NAME = 'Magento Warehouse';
6
 
7
+ const DEFAULT_CURRENCY_CODE = 'AUD';
8
+
9
+ const DEFAULT_COUNTRY_ID = 'AU';
10
+
11
  private $_temandoAttributes = array(
12
  'temando_packaging_mode',
13
  'temando_packaging',
18
  );
19
 
20
  protected $_allowedCountries = array(
21
+ 'AU' => 'Australia',
22
+ 'NZ' => 'New Zealand',
23
+ 'GB' => 'United Kingdom',
24
+ 'US' => 'United States'
25
  );
26
+
27
+ /**
28
+ * Returns default weight unit
29
+ */
30
+ public function getDefaultWeightUnit()
31
+ {
32
+ return Temando_Temando_Model_System_Config_Source_Unit_Weight::KILOGRAMS;
33
+ }
34
+
35
+ /**
36
+ * Returns default distance unit
37
+ */
38
+ public function getDefaultDistanceUnit()
39
+ {
40
+ return Temando_Temando_Model_System_Config_Source_Unit_Measure::CENTIMETRES;
41
+ }
42
+
43
+ /**
44
+ * Returns default currency code
45
+ */
46
+ public function getDefaultCurrencyCode()
47
+ {
48
+ return self::DEFAULT_CURRENCY_CODE;
49
+ }
50
+
51
+ /**
52
+ * Returns default country id
53
+ */
54
+ public function getDefaultCountryId()
55
+ {
56
+ return self::DEFAULT_COUNTRY_ID;
57
+ }
58
+
59
 
60
  /**
61
  * Retrieves an element from the module configuration data.
470
  return true;
471
  }
472
 
473
+ /**
474
+ * Creates a sales quote based on current ship request
475
+ *
476
+ * @param Mage_Shipping_Model_Rate_Request $request
477
+ * @return Mage_Sales_Model_Quote
478
+ */
479
+ public function getDummySalesQuoteFromRequest(Mage_Shipping_Model_Rate_Request $request)
480
+ {
481
+ $quote = Mage::getModel('sales/quote');
482
+ /* @var $quote Mage_Sales_Model_Quote */
483
+ $address = Mage::getModel('sales/quote_address');
484
+ /* @var $address Mage_Sales_Model_Quote_Address */
485
+ $address->setCity($request->getDestCity())
486
+ ->setPostcode($request->getDestPostcode())
487
+ ->setCountryId($request->getDestCountryId())
488
+ ->setStreet($request->getDestStreet())
489
+ ->setRegion($request->getDestRegionCode())
490
+ ->setRegionId($request->getDestRegionId());
491
+ $quote->addShippingAddress($address);
492
+ foreach($request->getAllItems() as $item) {
493
+ $quote->addItem($item);
494
+ }
495
+ $quote->setId(100000000 + mt_rand(0, 100000));
496
+ $quote->collectTotals();
497
+ return $quote;
498
+ }
499
+
500
  }
app/code/community/Temando/Temando/Model/Api/Client.php CHANGED
@@ -223,6 +223,24 @@ class Temando_Temando_Model_Api_Client extends Mage_Core_Model_Abstract {
223
  return $response;
224
  }
225
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  /**
227
  * Gets the multiplier for insurance (currently 1%).
228
  *
223
  return $response;
224
  }
225
 
226
+ /**
227
+ * get carriers
228
+ *
229
+ * @param $request
230
+ * @return bool
231
+ */
232
+ public function getCarriers($request) {
233
+ if (!$this->_client) {
234
+ return false;
235
+ }
236
+
237
+ $response = $this->_client->getCarriers($request);
238
+ if(is_soap_fault($response)) {
239
+ throw new Exception($response->faultstring);
240
+ }
241
+ return $response;
242
+ }
243
+
244
  /**
245
  * Gets the multiplier for insurance (currently 1%).
246
  *
app/code/community/Temando/Temando/Model/Api/Request/Anything.php CHANGED
@@ -81,7 +81,8 @@ class Temando_Temando_Model_Api_Request_Anything extends Mage_Core_Model_Abstrac
81
  'width' => Mage::helper('temando')->getDistanceInCentimetres($this->_item->getTemandoWidth(), Mage::helper('temando')->getConfigData('units/measure')),
82
  'height' => Mage::helper('temando')->getDistanceInCentimetres($this->_item->getTemandoHeight(), Mage::helper('temando')->getConfigData('units/measure')),
83
  'qualifierFreightGeneralFragile' => $this->_item->getTemandoFragile() == '1' ? 'Y' : 'N',
84
- 'description' => $this->_item->getName()
 
85
  );
86
  if($this->_item->getTemandoPackaging() == Temando_Temando_Model_System_Config_Source_Shipment_Packaging::PALLET) {
87
  $anything['palletType'] = self::PALLET_TYPE;
@@ -91,6 +92,26 @@ class Temando_Temando_Model_Api_Request_Anything extends Mage_Core_Model_Abstrac
91
  }
92
  return $anything;
93
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  public function validate()
95
  {
96
  return $this->_item instanceof Mage_Sales_Model_Quote_Item ||
81
  'width' => Mage::helper('temando')->getDistanceInCentimetres($this->_item->getTemandoWidth(), Mage::helper('temando')->getConfigData('units/measure')),
82
  'height' => Mage::helper('temando')->getDistanceInCentimetres($this->_item->getTemandoHeight(), Mage::helper('temando')->getConfigData('units/measure')),
83
  'qualifierFreightGeneralFragile' => $this->_item->getTemandoFragile() == '1' ? 'Y' : 'N',
84
+ 'description' => $this->_item->getName(),
85
+ 'articles' => $this->getArticlesElement()
86
  );
87
  if($this->_item->getTemandoPackaging() == Temando_Temando_Model_System_Config_Source_Shipment_Packaging::PALLET) {
88
  $anything['palletType'] = self::PALLET_TYPE;
92
  }
93
  return $anything;
94
  }
95
+
96
+ /**
97
+ * Prepares articles element for this anything
98
+ *
99
+ * @return array
100
+ */
101
+ public function getArticlesElement()
102
+ {
103
+ $articles = array();
104
+ $qty = $this->_item->getQty() ? $this->_item->getQty() : $this->_item->getQtyOrdered();
105
+ for ($i = 1; $i <= $qty; $i++) {
106
+ $articles[] = array(
107
+ 'sku' => $this->_item->getSku(),
108
+ 'description' => $this->_item->getName(),
109
+ 'goodsValue' => $this->_item->getPrice()
110
+ );
111
+ }
112
+ return $articles;
113
+ }
114
+
115
  public function validate()
116
  {
117
  return $this->_item instanceof Mage_Sales_Model_Quote_Item ||
app/code/community/Temando/Temando/Model/Observer.php CHANGED
@@ -124,7 +124,8 @@ class Temando_Temando_Model_Observer
124
  ->setReady()
125
  ->setAllowedCarriers($allowed_carriers);
126
 
127
- if ($quotes = $request->getQuotes() !== false) {
 
128
  return Mage::helper('temando/functions')->getCheapestQuote($quotes->getItems());
129
  }
130
  return null;
@@ -134,7 +135,7 @@ class Temando_Temando_Model_Observer
134
  public function hookCartSaveAddress($observer)
135
  {
136
  $post = $observer->getControllerAction()->getRequest()->getPost();
137
- if (Mage::getStoreConfig('carriers/temando/active') && isset($post['country_id']) && ('AU' == $post['country_id']) && isset($post['region_id']) && isset($post['estimate_city']) && isset($post['estimate_postcode']) && isset($post['pcs'])) {
138
  $data = array(
139
  'country_id' => $post['country_id'],
140
  'region_id' => $post['region_id'],
124
  ->setReady()
125
  ->setAllowedCarriers($allowed_carriers);
126
 
127
+ $quotes = $request->getQuotes();
128
+ if ($quotes instanceof Temando_Temando_Model_Mysql4_Quote_Collection) {
129
  return Mage::helper('temando/functions')->getCheapestQuote($quotes->getItems());
130
  }
131
  return null;
135
  public function hookCartSaveAddress($observer)
136
  {
137
  $post = $observer->getControllerAction()->getRequest()->getPost();
138
+ if (Mage::getStoreConfig('carriers/temando/active') && isset($post['country_id']) && (Mage::helper('temando')->getDefaultCountryId() == $post['country_id']) && isset($post['region_id']) && isset($post['estimate_city']) && isset($post['estimate_postcode']) && isset($post['pcs'])) {
139
  $data = array(
140
  'country_id' => $post['country_id'],
141
  'region_id' => $post['region_id'],
app/code/community/Temando/Temando/Model/Shipping/Carrier/Temando.php CHANGED
@@ -15,7 +15,7 @@ class Temando_Temando_Model_Shipping_Carrier_Temando
15
  /**
16
  * Error Constants
17
  */
18
- const ERR_INVALID_COUNTRY = 'To and From addresses must be within Australia';
19
  const ERR_INVALID_DEST = 'Please enter a delivery address to view available shipping methods';
20
  const ERR_NO_METHODS = 'No shipping methods available';
21
  const ERR_INTERNATIONAL = 'International delivery is not available at this time.';
@@ -224,8 +224,19 @@ class Temando_Temando_Model_Shipping_Carrier_Temando
224
  return $this->_getErrorMethod(self::ERR_INVALID_DEST);
225
  }
226
 
 
 
 
 
 
 
 
 
 
 
 
227
  //check if eligible for free shipping
228
- if ($this->isFreeShipping($request)) {
229
  $result->append($this->_getFlatRateMethod('0.00', true));
230
  return $result;
231
  }
@@ -258,15 +269,6 @@ class Temando_Temando_Model_Shipping_Carrier_Temando
258
  /* @var Temando_Temando_Model_Options $options */
259
  $options = Mage::getModel('temando/options')->addItem($insurance)->addItem($carbon)->addItem($footprints);
260
 
261
- //get magento sales quote id
262
- $salesQuoteId = Mage::getSingleton('checkout/session')->getQuoteId();
263
- if (!$salesQuoteId && Mage::app()->getStore()->isAdmin()) {
264
- $salesQuoteId = Mage::getSingleton('adminhtml/session_quote')->getQuote()->getId();
265
- }
266
- if (!$salesQuoteId && $this->getIsProductPage()) {
267
- $salesQuoteId = 100000000 + mt_rand(0, 100000);
268
- }
269
-
270
  //save current extras
271
  if (is_null(Mage::registry('temando_current_options'))) {
272
  Mage::register('temando_current_options', $options);
@@ -350,10 +352,10 @@ class Temando_Temando_Model_Shipping_Carrier_Temando
350
  /**
351
  * Returns true if request is elegible for free shipping, false otherwise
352
  *
353
- * @param Mage_Shipping_Model_Rate_Request $request
354
  * @return boolean
355
  */
356
- public function isFreeShipping($request)
357
  {
358
  //check pricing method first
359
  if($this->_pricing_method == Temando_Temando_Model_System_Config_Source_Pricing::FREE) {
@@ -362,7 +364,7 @@ class Temando_Temando_Model_Shipping_Carrier_Temando
362
 
363
  //check if all items have free shipping or free shipping over amount enabled and valid for this request
364
  $allItemsFree = true; $total = 0;
365
- foreach ($request->getAllItems() as $item) {
366
  /* @var $item Mage_Sales_Model_Quote_Item */
367
  if ($item->getProduct()->isVirtual() || $item->getParentItem()) { continue; }
368
  if ($item->getFreeShipping()) { continue; }
@@ -437,6 +439,24 @@ class Temando_Temando_Model_Shipping_Carrier_Temando
437
  if ($text) {
438
  $result->setTrackSummary($text);
439
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  } else {
441
  $result->setErrorMessage(Mage::helper('temando')->__('An error occurred while fetching the shipment status.'));
442
  }
15
  /**
16
  * Error Constants
17
  */
18
+ const ERR_INVALID_COUNTRY = 'Sorry, shipping to selected country is not available.';
19
  const ERR_INVALID_DEST = 'Please enter a delivery address to view available shipping methods';
20
  const ERR_NO_METHODS = 'No shipping methods available';
21
  const ERR_INTERNATIONAL = 'International delivery is not available at this time.';
224
  return $this->_getErrorMethod(self::ERR_INVALID_DEST);
225
  }
226
 
227
+ //get magento sales quote & id
228
+ $salesQuote = Mage::getSingleton('checkout/session')->getQuote();
229
+ /* @var $salesQuote Mage_Sales_Model_Quote */
230
+ if (!$salesQuote->getId() && Mage::app()->getStore()->isAdmin()) {
231
+ $salesQuote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
232
+ }
233
+ if ($this->getIsProductPage()) {
234
+ $salesQuote = Mage::helper('temando')->getDummySalesQuoteFromRequest($request);
235
+ }
236
+ $salesQuoteId = $salesQuote->getId();
237
+
238
  //check if eligible for free shipping
239
+ if ($this->isFreeShipping($salesQuote)) {
240
  $result->append($this->_getFlatRateMethod('0.00', true));
241
  return $result;
242
  }
269
  /* @var Temando_Temando_Model_Options $options */
270
  $options = Mage::getModel('temando/options')->addItem($insurance)->addItem($carbon)->addItem($footprints);
271
 
 
 
 
 
 
 
 
 
 
272
  //save current extras
273
  if (is_null(Mage::registry('temando_current_options'))) {
274
  Mage::register('temando_current_options', $options);
352
  /**
353
  * Returns true if request is elegible for free shipping, false otherwise
354
  *
355
+ * @param Mage_Sales_Model_Quote $salesQuote
356
  * @return boolean
357
  */
358
+ public function isFreeShipping($salesQuote)
359
  {
360
  //check pricing method first
361
  if($this->_pricing_method == Temando_Temando_Model_System_Config_Source_Pricing::FREE) {
364
 
365
  //check if all items have free shipping or free shipping over amount enabled and valid for this request
366
  $allItemsFree = true; $total = 0;
367
+ foreach ($salesQuote->getAllItems() as $item) {
368
  /* @var $item Mage_Sales_Model_Quote_Item */
369
  if ($item->getProduct()->isVirtual() || $item->getParentItem()) { continue; }
370
  if ($item->getFreeShipping()) { continue; }
439
  if ($text) {
440
  $result->setTrackSummary($text);
441
  }
442
+
443
+ if (!isset($status->request->quotes->quote->trackingHistories->trackingHistory)) {
444
+ $status->request->quotes->quote->trackingHistories->trackingHistory = array();
445
+ } else if (isset($status->request->quotes->quote->trackingHistories->trackingHistory) && !is_array($status->request->quotes->quote->trackingHistories->trackingHistory)) {
446
+ $status->request->quotes->quote->trackingHistories->trackingHistory = array(0 => $status->request->quotes->quote->trackingHistories->trackingHistory);
447
+ }
448
+
449
+ $trackingHistories = array();
450
+ foreach ($status->request->quotes->quote->trackingHistories->trackingHistory as $trackData) {
451
+ $trackingHistories[] = array(
452
+ 'deliverylocation' => $trackData->trackingStatus,
453
+ 'deliverydate' => date('Y-m-d', strtotime($trackData->trackingStatusOccurred)),
454
+ 'deliverytime' => date('h:ia', strtotime($trackData->trackingStatusOccurred)),
455
+ 'activity' => $trackData->trackingFurtherDetails
456
+ );
457
+ }
458
+
459
+ $result->setProgressdetail($trackingHistories);
460
  } else {
461
  $result->setErrorMessage(Mage::helper('temando')->__('An error occurred while fetching the shipment status.'));
462
  }
app/code/community/Temando/Temando/Model/System/Config/Source/Labeltype.php CHANGED
@@ -3,14 +3,12 @@
3
  class Temando_Temando_Model_System_Config_Source_Labeltype extends Temando_Temando_Model_System_Config_Source
4
  {
5
 
6
- const NO = '';
7
  const STANDARD = 'Standard';
8
  const THERMAL = 'Thermal';
9
 
10
  protected function _setupOptions()
11
  {
12
  $this->_options = array(
13
- self::NO => Mage::helper('temando')->__('No'),
14
  self::STANDARD => Mage::helper('temando')->__('Plain Paper'),
15
  self::THERMAL => Mage::helper('temando')->__('Thermal'),
16
  );
3
  class Temando_Temando_Model_System_Config_Source_Labeltype extends Temando_Temando_Model_System_Config_Source
4
  {
5
 
 
6
  const STANDARD = 'Standard';
7
  const THERMAL = 'Thermal';
8
 
9
  protected function _setupOptions()
10
  {
11
  $this->_options = array(
 
12
  self::STANDARD => Mage::helper('temando')->__('Plain Paper'),
13
  self::THERMAL => Mage::helper('temando')->__('Thermal'),
14
  );
app/code/community/Temando/Temando/Model/System/Config/Source/Shipment/Packaging.php CHANGED
@@ -35,4 +35,15 @@ class Temando_Temando_Model_System_Config_Source_Shipment_Packaging extends Tema
35
  );
36
  }
37
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
35
  );
36
  }
37
 
38
+ /**
39
+ * Returns the option key by its label
40
+ *
41
+ * @param string $label
42
+ * @return int
43
+ */
44
+ public function getOptionId($label)
45
+ {
46
+ return array_search(strtolower(trim($label)), array_map('strtolower', $this->getOptions()));
47
+ }
48
+
49
  }
app/code/community/Temando/Temando/controllers/Adminhtml/CarrierController.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Temando_Temando_Adminhtml_CarrierController extends Mage_Adminhtml_Controller_Action {
4
+
5
+ const CARRIER_ERROR = 'An error occured when synchronizing carriers with temando.com';
6
+ const CARRIER_SUCCESS = 'Synchronized carriers';
7
+
8
+ /**
9
+ * Adminhtml controller that refreshes carriers in the temando_carrier table.
10
+ * @return
11
+ */
12
+ public function indexAction() {
13
+
14
+ try {
15
+ $api = Mage::getModel('temando/api_client');
16
+ /* @var $api Temando_Temando_Model_Api_Client */
17
+ $api->connect(
18
+ Mage::helper('temando')->getConfigData('general/username'),
19
+ Mage::helper('temando')->getConfigData('general/password'),
20
+ Mage::helper('temando')->getConfigData('general/sandbox')
21
+ );
22
+ $response = $api->getCarriers(array('clientId' => Mage::helper('temando')->getClientId(), 'showAdhoc' => 'Y'));
23
+ //make sure we have an array
24
+ if (!isset($response->linked->carrier)) {
25
+ $response->linked->carrier = array();
26
+ } else if (isset($response->linked->carrier) && !is_array($response->linked->carrier)) {
27
+ $response->linked->carrier = array(0 => $response->linked->carrier);
28
+ }
29
+ if (!isset($response->adhoc->carrier)) {
30
+ $response->adhoc->carrier = array();
31
+ } else if (isset($response->adhoc->carrier) && !is_array($response->adhoc->carrier)) {
32
+ $response->adhoc->carrier = array(0 => $response->adhoc->carrier);
33
+ }
34
+ foreach ($response->linked->carrier as $carrierResponse) {
35
+ $this->loadResponse($carrierResponse);
36
+ }
37
+ foreach ($response->adhoc->carrier as $carrierResponse) {
38
+ $this->loadResponse($carrierResponse);
39
+ }
40
+
41
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('temando')->__(self::CARRIER_SUCCESS));
42
+ } catch (Exception $e) {
43
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('temando')->__(self::CARRIER_ERROR));
44
+ }
45
+
46
+ return $this->getResponse()->setRedirect($this->getRequest()->getServer('HTTP_REFERER'));
47
+ }
48
+
49
+ protected function loadResponse($response)
50
+ {
51
+ if ($response instanceof stdClass) {
52
+ $carrier = Mage::getModel('temando/carrier')->load($response->id, 'carrier_id');
53
+ /* @var $carrier Temando_Temando_Model_Carrier */
54
+
55
+ $carrier
56
+ ->setCarrierId(isset($response->id) ? $response->id : '')
57
+ ->setCompanyName(isset($response->companyName) ? $response->companyName : '')
58
+ ->setCompanyContact(isset($response->companyContact) ? $response->companyContact : '')
59
+ ->setStreetAddress(isset($response->streetAddress) ? $response->streetAddress : '')
60
+ ->setStreetSuburb(isset($response->streetSuburb) ? $response->streetSuburb : '')
61
+ ->setStreetCity(isset($response->streetCity) ? $response->streetCity : '')
62
+ ->setStreetState(isset($response->streetState) ? $response->streetState : '')
63
+ ->setStreetPostcode(isset($response->streetCode) ? $response->streetCode : '')
64
+ ->setStreetCountry(isset($response->streetCountry) ? $response->streetCountry : '')
65
+ ->setPostalAddress(isset($response->postalAddress) ? $response->postalAddress : '')
66
+ ->setPostalSuburb(isset($response->postalSuburb) ? $response->postalSuburb : '')
67
+ ->setPostalCity(isset($response->postalCity) ? $response->postalCity : '')
68
+ ->setPostalState(isset($response->postalState) ? $response->postalState : '')
69
+ ->setPostalPostcode(isset($response->postalCode) ? $response->postalCode : '')
70
+ ->setPostalCountry(isset($response->postalCountry) ? $response->postalCountry : '')
71
+ ->setPhone(isset($response->phone1) ? $response->phone1 : '')
72
+ ->setEmail(isset($response->email) ? $response->email : '')
73
+ ->setWebsite(isset($response->website) ? $response->website : '')
74
+ ->save();
75
+ }
76
+ }
77
+
78
+ }
79
+
app/code/community/Temando/Temando/controllers/PcsController.php CHANGED
@@ -37,8 +37,9 @@ class Temando_Temando_PcsController extends Mage_Core_Controller_Front_Action
37
  $this->renderLayout();
38
  }
39
 
40
- protected function _makeAutocomplete($query, $country = 'AU')
41
  {
 
42
  $this->_result['query'] = Mage::helper('core')->escapeHtml($query);
43
 
44
  $this->_getValidator();
@@ -80,7 +81,7 @@ class Temando_Temando_PcsController extends Mage_Core_Controller_Front_Action
80
  public function autocompletecartAction() {
81
 
82
  $query = $this->getRequest()->getParam('query');
83
- $country = $this->getRequest()->getParam('country','AU');
84
 
85
  echo $this->_makeAutocomplete($query, $country);
86
  exit;
37
  $this->renderLayout();
38
  }
39
 
40
+ protected function _makeAutocomplete($query, $country = null)
41
  {
42
+ $country = $country ? $country : Mage::helper('temando')->getDefaultCountryId();
43
  $this->_result['query'] = Mage::helper('core')->escapeHtml($query);
44
 
45
  $this->_getValidator();
81
  public function autocompletecartAction() {
82
 
83
  $query = $this->getRequest()->getParam('query');
84
+ $country = $this->getRequest()->getParam('country', Mage::helper('temando')->getDefaultCountryId());
85
 
86
  echo $this->_makeAutocomplete($query, $country);
87
  exit;
app/code/community/Temando/Temando/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Temando_Temando>
5
- <version>1.1.3</version>
6
  </Temando_Temando>
7
  </modules>
8
  <global>
@@ -157,6 +157,8 @@
157
  <payment_type><![CDATA[Account]]></payment_type>
158
  </general>
159
  <options>
 
 
160
  <show_transit_type><![CDATA[1]]></show_transit_type>
161
  <show_transit_time><![CDATA[1]]></show_transit_time>
162
  </options>
@@ -206,7 +208,7 @@
206
  <temando>
207
  <active>0</active>
208
  <model>temando/shipping_carrier_temando</model>
209
- <allowed_methods></allowed_methods>
210
  <weightunit>Grams</weightunit>
211
  <name>Temando</name>
212
  <title>Temando</title>
2
  <config>
3
  <modules>
4
  <Temando_Temando>
5
+ <version>1.3.1</version>
6
  </Temando_Temando>
7
  </modules>
8
  <global>
157
  <payment_type><![CDATA[Account]]></payment_type>
158
  </general>
159
  <options>
160
+ <show_product_estimate><![CDATA[1]]></show_product_estimate>
161
+ <label_type><![CDATA[Standard]]></label_type>
162
  <show_transit_type><![CDATA[1]]></show_transit_type>
163
  <show_transit_time><![CDATA[1]]></show_transit_time>
164
  </options>
208
  <temando>
209
  <active>0</active>
210
  <model>temando/shipping_carrier_temando</model>
211
+ <allowed_methods>54381,54426,54359,54396,54360,54429,54433,54432,54425,54343,54430,54431,54427,54428,54344,54398,54358,54410</allowed_methods>
212
  <weightunit>Grams</weightunit>
213
  <name>Temando</name>
214
  <title>Temando</title>
app/code/community/Temando/Temando/etc/system.xml CHANGED
@@ -605,6 +605,15 @@
605
  <show_in_store>1</show_in_store>
606
  <comment><![CDATA[Use CTRL + click to select multiple carriers<br/>A higher plan is required to load eParcel Australia Post rates. Please contact <a href="mailto:sales@temando.com">sales@temando.com</a>.]]></comment>
607
  </allowed_methods>
 
 
 
 
 
 
 
 
 
608
  </fields>
609
  </temando>
610
  </groups>
605
  <show_in_store>1</show_in_store>
606
  <comment><![CDATA[Use CTRL + click to select multiple carriers<br/>A higher plan is required to load eParcel Australia Post rates. Please contact <a href="mailto:sales@temando.com">sales@temando.com</a>.]]></comment>
607
  </allowed_methods>
608
+ <update_carrier translate="label">
609
+ <label></label>
610
+ <frontend_model>temando/adminhtml_system_config_form_button_update</frontend_model>
611
+ <frontend_type>button</frontend_type>
612
+ <sort_order>90</sort_order>
613
+ <show_in_default>1</show_in_default>
614
+ <show_in_website>1</show_in_website>
615
+ <show_in_store>1</show_in_store>
616
+ </update_carrier>
617
  </fields>
618
  </temando>
619
  </groups>
app/locale/en_US/Temando_Temando.csv CHANGED
@@ -16,13 +16,13 @@
16
  "CSV","CSV"
17
  "Delete Selected HS Codes","Delete Selected HS Codes"
18
  "Import CSV File","Import CSV File"
19
- "Create New Manifest - Please note, to manifest you must have a permanent pickup. Contact <a href="mailto:sales@temando.com">sales@temando.com</a> for more information.","Create New Manifest - Please note, to manifest you must have a permanent pickup. Contact <a href="mailto:sales@temando.com">sales@temando.com</a> for more information."
20
  "Location","Location"
21
  "Carrier","Carrier"
22
  "Date","Date"
23
  "Created At","Created At"
24
  "Type","Type"
25
- "Manifest Document","Manifest Document"
26
  "Download","Download"
27
  "Label Document","Label Document"
28
  "Confirm","Confirm"
@@ -96,13 +96,13 @@
96
  "Disable Rules","Disable Rules"
97
  "Delete Rules","Delete Rules"
98
  "Are you sure you want to delete selected shipping rules?","Are you sure you want to delete selected shipping rules?"
99
- "View Consignment","View Consignment"
100
  "View Commercial Invoice","View Commercial Invoice"
101
  "Ship with Temando","Ship with Temando"
102
  "Cheapest","Cheapest"
103
  "Fastest","Fastest"
104
  "Customer Selected","Customer Selected"
105
- "Selected for Booking","Selected for Booking"
106
  "Information","Information"
107
  "Shipment #","Shipment #"
108
  "Ship to Name","Ship to Name"
@@ -114,22 +114,22 @@
114
  "None selected","None selected"
115
  "Pick Slip","Pick Slip"
116
  "Save and Get Quotes","Save and Get Quotes"
117
- "No Consignment","No Consignment"
118
  "Order # %s | %s","Order # %s | %s"
119
  "Urgency","Urgency"
120
  "Order #","Order #"
121
  "Purchased On","Purchased On"
122
- "Anticipated Cost","Anticipated Cost"
123
- "Shipping Paid","Shipping Paid"
124
  "Customer Selected Quote","Customer Selected Quote"
125
  "Admin Selected Quote","Admin Selected Quote"
126
  "Origin","Origin"
127
  "View","View"
128
- "Book Shipments","Book Shipments"
129
  "Book selected shipments?","Book selected shipments?"
130
  "Remove Shipments","Remove Shipments"
131
  "Remove selected shipments?","Remove selected shipments?"
132
- "Retrieve Consignment Label","Retrieve Consignment Label"
133
  "Retrieve Pick Slip","Retrieve Pick Slip"
134
  "Taxes & Duties Information","Taxes & Duties Information"
135
  "Taxes & Duties Configuration","Taxes & Duties Configuration"
@@ -156,10 +156,10 @@
156
  "If set to ""Yes"", the sandbox (testing) service will be used (usually set to ""No"" on a live site)","If set to ""Yes"", the sandbox (testing) service will be used (usually set to ""No"" on a live site)"
157
  "Limited Access","Limited Access"
158
  "Does the warehouse have limited access?","Does the warehouse have limited access?"
159
- "Postal Box","Postal Box"
160
  "Is the address of this warehouse a postal box?","Is the address of this warehouse a postal box?"
161
  "Label Type","Label Type"
162
- "Consignment document type associated with this warehouse.","Consignment document type associated with this warehouse."
163
  "Company Name","Company Name"
164
  "Location Type","Location Type"
165
  "Address & Contact","Address & Contact"
@@ -168,7 +168,7 @@
168
  "City","City"
169
  "ZIP/Postal Code","Zip Code"
170
  "Country","Country"
171
- "Region","Region"
172
  "Contact Details","Contact Details"
173
  "Contact Name","Contact Name"
174
  "Contact Email","Contact Email"
@@ -201,9 +201,9 @@
201
  "Range","Range"
202
  "Manage HS Codes","Manage HS Codes"
203
  "Add New HS Code","Add New HS Code"
204
- "Manage Manifests","Manage Manifests"
205
- "Add Manifest","Add Manifest"
206
- "Confirm Manifests","Confirm Manifests"
207
  "Manage Custom Packages","Manage Custom Packages"
208
  "Add New Package","Add New Package"
209
  "Manage Shipping Rules","Manage Shipping Rules"
@@ -255,7 +255,7 @@
255
  "Shipping Instructions: ","Shipping Instructions: "
256
  "Title","Title"
257
  "Number","Number"
258
- "Custom Value","Custom Value"
259
  "Conditions Combination","Conditions Combination"
260
  "Cart Item Attribute","Cart Item Attribute"
261
  "Product Attribute","Product Attribute"
@@ -323,8 +323,8 @@
323
  "Express","Express"
324
  "Standard","Standard"
325
  "Pending","Pending"
326
- "Partially Booked","Partially Booked"
327
- "Booked","Booked"
328
  "Optional","Optional"
329
  "Mandatory","Mandatory"
330
  "Show flat rate","Show flat rate"
@@ -361,7 +361,7 @@
361
  "Total of %d record(s) have been deleted.","Total of %d record(s) have been deleted."
362
  "Import successful - all rows imported.","Import successful - all rows imported."
363
  "Please select CSV file.","Please select CSV file."
364
- "Manifest successful added for carrier: ","Manifest successful added for carrier: "
365
  "Manage Packaging","Manage Packaging"
366
  "Package does not exist","Package does not exist"
367
  "Error saving package data","Error saving package data"
@@ -400,14 +400,14 @@
400
  "Shipment ID %s not found.","Shipment ID %s not found."
401
  "Total of %d shipments removed.","Total of %d shipments removed."
402
  "Please select at least one shipment.","Please select at least one shipment."
403
- "Consignment label not found for selected shipments.","Consignment label not found for selected shipments."
404
- "Consignment label can be retrieved for booked shipments only.","Consignment label can be retrieved for booked shipments only."
405
  "No shipments selected for booking.","No shipments selected for booking."
406
  "Shipment ID %s no longer exists.","Shipment ID %s no longer exists."
407
  "Order #%s: cannot be shipped.","Order #%s: cannot be shipped."
408
  "Order #%s: no quote selected for booking or selected quote no longer exists.","Order #%s: no quote selected for booking or selected quote no longer exists."
409
- "Order #%s: shipment already booked.","Order #%s: shipment already booked."
410
- "Order #%s: Shipment booked.","Order #%s: Shipment booked."
411
  "Order #%s: ","Order #%s: "
412
  "Error retrieving pick slips. More infomration in exception log.","Error retrieving pick slips. More infomration in exception log."
413
  "No orders selected for pick slip retrieval.","No orders selected for pick slip retrieval."
@@ -454,14 +454,14 @@
454
  "Dimensions","Dimensions"
455
  "Product","Product"
456
  "Qty to Ship","Qty to Ship"
457
- "Article Value (%s)","Article Value (%s)"
458
- "Article Description","Article Description"
459
  "Ordered","Ordered"
460
  "Shipped","Shipped"
461
  "Boxes to Ship","Boxes to Ship"
462
  "Add Box","Add Box"
463
  "Import from Above","Import from Above"
464
- "Article Allocation","Article Allocation"
465
  "Row ID","Row ID"
466
  "Comment","Comment"
467
  "Remove","Remove"
@@ -480,13 +480,13 @@
480
  "ETA","ETA"
481
  "Cost","Cost"
482
  "Notes","Notes"
483
- "Make Booking","Make Booking"
484
  "Select for Booking","Select for Booking"
485
- "Book Quote","Book Quote"
486
  "Select Quote","Select Quote"
487
- "Confirm Reservation","Confirm Reservation"
488
- "Make Reservation","Make Reservation"
489
- "Unsaved changes will be lost. Continue booking?","Unsaved changes will be lost. Continue booking?"
490
  "Shipment Status","Shipment Status"
491
  "Selected Pickup Location","Selected Pickup Location"
492
  "Carrier Selected by Customer","Carrier Selected by Customer"
@@ -569,7 +569,7 @@
569
  "Heavy Lift","Heavy Lift"
570
  "Show Shipping Instructions","Show Shipping Instructions"
571
  "Show Customer Comment","Show Customer Comment"
572
- "Show 'Deliver By' Calendar","Show 'Deliver By' Calendar
573
  "Allow PO Box Deliveries","Allow PO Box Deliveries"
574
  "Allow shipping to PO Box addresses?","Allow shipping to PO Box addresses?"
575
  "The error message displayed when delivery to PO Box address is restricted.","The error message displayed when delivery to PO Box address is restricted."
@@ -605,7 +605,7 @@
605
  "Configuration Wizard","Configuration Wizard"
606
  "This shipping method is currently unavailable. If you would like to ship using this shipping method, please contact us.","This shipping method is currently unavailable. If you would like to ship using this shipping method, please contact us."
607
  "Available in the Business Extension","Available in the Business Extension"
608
- "Consignment Number: ","Consignment Number: "
609
  "Request Id: ","Request Id: "
610
  "Show error message to customer from Temando or show flat rate shipping method.","Show error message to customer from Temando or show flat rate shipping method."
611
  "<strong>Free Shipping</strong> - no charge to customer.<br/><strong>Fixed Price / Flat Rate</strong> - customer always pays the amount set in ""Shipping Price"" below.<br/><strong>Dynamic Pricing</strong><br/>- <strong>All</strong>: All quotes from carriers in ""allowed carriers"" above are shown for the customer to choose from.<br/>- <strong>Cheapest</strong>: Only the cheapest quote is shown.<br/>- <strong>Fastest</strong>: Only the fastest quote is shown.<br/>- <strong>Cheapest and Fastest</strong>: The customer can choose between the cheapest or the fastest quote.","<strong>Free Shipping</strong> - no charge to customer.<br/><strong>Fixed Price / Flat Rate</strong> - customer always pays the amount set in ""Shipping Price"" below.<br/><strong>Dynamic Pricing</strong><br/>- <strong>All</strong>: All quotes from carriers in ""allowed carriers"" above are shown for the customer to choose from.<br/>- <strong>Cheapest</strong>: Only the cheapest quote is shown.<br/>- <strong>Fastest</strong>: Only the fastest quote is shown.<br/>- <strong>Cheapest and Fastest</strong>: The customer can choose between the cheapest or the fastest quote."
16
  "CSV","CSV"
17
  "Delete Selected HS Codes","Delete Selected HS Codes"
18
  "Import CSV File","Import CSV File"
19
+ "Create New Manifest - Please note, to manifest you must have a permanent pickup. Contact <a href='mailto:sales@temando.com'>sales@temando.com</a> for more information.","Create New Daily Manifest - Please note, to manifest you must have a permanent pickup. Contact <a href='mailto:sales@temando.com'>sales@temando.com</a> for more information."
20
  "Location","Location"
21
  "Carrier","Carrier"
22
  "Date","Date"
23
  "Created At","Created At"
24
  "Type","Type"
25
+ "Manifest Document","Daily Manifest Document"
26
  "Download","Download"
27
  "Label Document","Label Document"
28
  "Confirm","Confirm"
96
  "Disable Rules","Disable Rules"
97
  "Delete Rules","Delete Rules"
98
  "Are you sure you want to delete selected shipping rules?","Are you sure you want to delete selected shipping rules?"
99
+ "View Consignment","View Label"
100
  "View Commercial Invoice","View Commercial Invoice"
101
  "Ship with Temando","Ship with Temando"
102
  "Cheapest","Cheapest"
103
  "Fastest","Fastest"
104
  "Customer Selected","Customer Selected"
105
+ "Selected for Booking","Selected for shipping"
106
  "Information","Information"
107
  "Shipment #","Shipment #"
108
  "Ship to Name","Ship to Name"
114
  "None selected","None selected"
115
  "Pick Slip","Pick Slip"
116
  "Save and Get Quotes","Save and Get Quotes"
117
+ "No Consignment","No label"
118
  "Order # %s | %s","Order # %s | %s"
119
  "Urgency","Urgency"
120
  "Order #","Order #"
121
  "Purchased On","Purchased On"
122
+ "Anticipated Cost","Quoted cost"
123
+ "Shipping Paid","Actual cost"
124
  "Customer Selected Quote","Customer Selected Quote"
125
  "Admin Selected Quote","Admin Selected Quote"
126
  "Origin","Origin"
127
  "View","View"
128
+ "Book Shipments","Process Shipments"
129
  "Book selected shipments?","Book selected shipments?"
130
  "Remove Shipments","Remove Shipments"
131
  "Remove selected shipments?","Remove selected shipments?"
132
+ "Retrieve Consignment Label","Retrieve Shipping Label"
133
  "Retrieve Pick Slip","Retrieve Pick Slip"
134
  "Taxes & Duties Information","Taxes & Duties Information"
135
  "Taxes & Duties Configuration","Taxes & Duties Configuration"
156
  "If set to ""Yes"", the sandbox (testing) service will be used (usually set to ""No"" on a live site)","If set to ""Yes"", the sandbox (testing) service will be used (usually set to ""No"" on a live site)"
157
  "Limited Access","Limited Access"
158
  "Does the warehouse have limited access?","Does the warehouse have limited access?"
159
+ "Postal Box","P.O. Box"
160
  "Is the address of this warehouse a postal box?","Is the address of this warehouse a postal box?"
161
  "Label Type","Label Type"
162
+ "Consignment document type associated with this warehouse.","Label document type associated with this warehouse."
163
  "Company Name","Company Name"
164
  "Location Type","Location Type"
165
  "Address & Contact","Address & Contact"
168
  "City","City"
169
  "ZIP/Postal Code","Zip Code"
170
  "Country","Country"
171
+ "Region","State"
172
  "Contact Details","Contact Details"
173
  "Contact Name","Contact Name"
174
  "Contact Email","Contact Email"
201
  "Range","Range"
202
  "Manage HS Codes","Manage HS Codes"
203
  "Add New HS Code","Add New HS Code"
204
+ "Manage Manifests","Daily Manifests"
205
+ "Add Manifest","Add Daily Manifest"
206
+ "Confirm Manifests","Confirm Daily Manifests"
207
  "Manage Custom Packages","Manage Custom Packages"
208
  "Add New Package","Add New Package"
209
  "Manage Shipping Rules","Manage Shipping Rules"
255
  "Shipping Instructions: ","Shipping Instructions: "
256
  "Title","Title"
257
  "Number","Number"
258
+ "Custom Value","Declared value for customs"
259
  "Conditions Combination","Conditions Combination"
260
  "Cart Item Attribute","Cart Item Attribute"
261
  "Product Attribute","Product Attribute"
323
  "Express","Express"
324
  "Standard","Standard"
325
  "Pending","Pending"
326
+ "Partially Booked","Partially Shipped"
327
+ "Booked","Shipped"
328
  "Optional","Optional"
329
  "Mandatory","Mandatory"
330
  "Show flat rate","Show flat rate"
361
  "Total of %d record(s) have been deleted.","Total of %d record(s) have been deleted."
362
  "Import successful - all rows imported.","Import successful - all rows imported."
363
  "Please select CSV file.","Please select CSV file."
364
+ "Manifest successful added for carrier: ","Daily Manifest successfully added for carrier: "
365
  "Manage Packaging","Manage Packaging"
366
  "Package does not exist","Package does not exist"
367
  "Error saving package data","Error saving package data"
400
  "Shipment ID %s not found.","Shipment ID %s not found."
401
  "Total of %d shipments removed.","Total of %d shipments removed."
402
  "Please select at least one shipment.","Please select at least one shipment."
403
+ "Consignment label not found for selected shipments.","Shipping label not found for selected shipments."
404
+ "Consignment label can be retrieved for booked shipments only.","Shipping label can be retrieved for booked shipments only."
405
  "No shipments selected for booking.","No shipments selected for booking."
406
  "Shipment ID %s no longer exists.","Shipment ID %s no longer exists."
407
  "Order #%s: cannot be shipped.","Order #%s: cannot be shipped."
408
  "Order #%s: no quote selected for booking or selected quote no longer exists.","Order #%s: no quote selected for booking or selected quote no longer exists."
409
+ "Order #%s: shipment already booked.","Order #%s: shipment already processed"
410
+ "Order #%s: Shipment booked.","Order #%s: Shipment processed."
411
  "Order #%s: ","Order #%s: "
412
  "Error retrieving pick slips. More infomration in exception log.","Error retrieving pick slips. More infomration in exception log."
413
  "No orders selected for pick slip retrieval.","No orders selected for pick slip retrieval."
454
  "Dimensions","Dimensions"
455
  "Product","Product"
456
  "Qty to Ship","Qty to Ship"
457
+ "Article Value (%s)","Item Value (%s)"
458
+ "Article Description","Item Description"
459
  "Ordered","Ordered"
460
  "Shipped","Shipped"
461
  "Boxes to Ship","Boxes to Ship"
462
  "Add Box","Add Box"
463
  "Import from Above","Import from Above"
464
+ "Article Allocation","Item Allocation"
465
  "Row ID","Row ID"
466
  "Comment","Comment"
467
  "Remove","Remove"
480
  "ETA","ETA"
481
  "Cost","Cost"
482
  "Notes","Notes"
483
+ "Make Booking","Process Booking"
484
  "Select for Booking","Select for Booking"
485
+ "Book Quote","Book Shipping Rate"
486
  "Select Quote","Select Quote"
487
+ "Confirm Reservation","Confirm Pick-up"
488
+ "Make Reservation","Request Pick-up"
489
+ "Unsaved changes will be lost. Continue booking?","Unsaved changes will be lost. Continue processesing?"
490
  "Shipment Status","Shipment Status"
491
  "Selected Pickup Location","Selected Pickup Location"
492
  "Carrier Selected by Customer","Carrier Selected by Customer"
569
  "Heavy Lift","Heavy Lift"
570
  "Show Shipping Instructions","Show Shipping Instructions"
571
  "Show Customer Comment","Show Customer Comment"
572
+ "Show 'Deliver By' Calendar","Show 'Deliver By' Calendar"
573
  "Allow PO Box Deliveries","Allow PO Box Deliveries"
574
  "Allow shipping to PO Box addresses?","Allow shipping to PO Box addresses?"
575
  "The error message displayed when delivery to PO Box address is restricted.","The error message displayed when delivery to PO Box address is restricted."
605
  "Configuration Wizard","Configuration Wizard"
606
  "This shipping method is currently unavailable. If you would like to ship using this shipping method, please contact us.","This shipping method is currently unavailable. If you would like to ship using this shipping method, please contact us."
607
  "Available in the Business Extension","Available in the Business Extension"
608
+ "Consignment Number: ","Tracking number: "
609
  "Request Id: ","Request Id: "
610
  "Show error message to customer from Temando or show flat rate shipping method.","Show error message to customer from Temando or show flat rate shipping method."
611
  "<strong>Free Shipping</strong> - no charge to customer.<br/><strong>Fixed Price / Flat Rate</strong> - customer always pays the amount set in ""Shipping Price"" below.<br/><strong>Dynamic Pricing</strong><br/>- <strong>All</strong>: All quotes from carriers in ""allowed carriers"" above are shown for the customer to choose from.<br/>- <strong>Cheapest</strong>: Only the cheapest quote is shown.<br/>- <strong>Fastest</strong>: Only the fastest quote is shown.<br/>- <strong>Cheapest and Fastest</strong>: The customer can choose between the cheapest or the fastest quote.","<strong>Free Shipping</strong> - no charge to customer.<br/><strong>Fixed Price / Flat Rate</strong> - customer always pays the amount set in ""Shipping Price"" below.<br/><strong>Dynamic Pricing</strong><br/>- <strong>All</strong>: All quotes from carriers in ""allowed carriers"" above are shown for the customer to choose from.<br/>- <strong>Cheapest</strong>: Only the cheapest quote is shown.<br/>- <strong>Fastest</strong>: Only the fastest quote is shown.<br/>- <strong>Cheapest and Fastest</strong>: The customer can choose between the cheapest or the fastest quote."
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Temando_Temando</name>
4
- <version>1.1.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software Licence</license>
7
  <channel>community</channel>
@@ -27,15 +27,15 @@ The Temando Magento shipping extension is more than just shipping software. Adva
27
  &#x2022; Packaging logic to predict box sizes&#xD;
28
  </description>
29
  <notes>Temando Shipping Extension &#x2013; Starter Version&#xD;
30
- &#x2022; Addition of language file&#xD;
31
- &#x2022; Addition of new demo api&#xD;
32
- &#x2022; Fix email sent flag on shipped&#xD;
33
  &#x2022; Miscellaneous bug fixes&#xD;
34
  </notes>
35
  <authors><author><name>Temando</name><user>Temando</user><email>marketing@temando.com</email></author></authors>
36
- <date>2014-07-28</date>
37
- <time>07:02:10</time>
38
- <contents><target name="mageetc"><dir name="modules"><file name="Temando_Temando.xml" hash="5bcf129ec4955186ed97d4b57def464b"/></dir></target><target name="magecommunity"><dir name="Temando"><dir name="Temando"><dir name="Block"><dir name="Adminhtml"><dir name="Manifest"><dir name="Filter"><file name="Form.php" hash="bb7f115dc656a6d96c1408fa91fd57de"/></dir><dir name="Grid"><dir name="Renderer"><file name="Checkbox.php" hash="dbbf607c8fb511e62872cecb0ada8b88"/></dir></dir><file name="Grid.php" hash="4ea69275d91d98cc52d13e0f99398696"/></dir><file name="Manifest.php" hash="9181440e747ba9540493db3f30d2a37b"/><dir name="Shipment"><dir name="Edit"><file name="Form.php" hash="d4d581256d38e9cd8b9ccf0242d18497"/><dir name="Tab"><file name="Abstract.php" hash="155de5f6e4727d461128291e8bcabe10"/><dir name="Form"><file name="Anytime.php" hash="2d3a4223b61a439bc55312b03eb7f883"/><file name="Anywhere.php" hash="27cffb5864d8999c85081bf3dc6714ce"/><file name="Boxes.php" hash="18b4b6325dc512621022eb912b187b28"/><file name="Insurance.php" hash="cbb8c1e5157b80a5af78efee20e016f7"/><file name="Origin.php" hash="0c6f873b02e70b05ecdb01cb63f470ec"/><file name="Products.php" hash="953cc0fe59529484e47e2c38ad7d3e0a"/><file name="Quotes.php" hash="e1c275fe37b658c1dc6492fdaab53667"/><file name="Status.php" hash="9c44fb52c6f9fd38f49942fa868c69d4"/></dir><file name="Form.php" hash="563c145f09c8b90d50d3b77f727fc7b5"/></dir><file name="Tabs.php" hash="1f65e9864e845110e9f86c80606a2652"/></dir><file name="Edit.php" hash="555e299bcff530908cc9f7b5aa7a03a8"/><file name="Grid.php" hash="83ce78261c99ecd8b185ee44c14e520c"/></dir><file name="Shipment.php" hash="aa9e8aaeb190b2b473a9fea9c461fd80"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Button"><file name="Rule.php" hash="3bcd4b7971e825c02d70260e6d2d4b24"/><file name="Warehouse.php" hash="0669b05bcc25fdfb0570ffa65d7bb9b9"/></dir><dir name="Field"><file name="Insurance.php" hash="cd0f849df18e4643d88e756f9dde071c"/><file name="Required.php" hash="0659fe9b8ef9c4c373a1190d92495e36"/></dir><dir name="Fieldset"><file name="General.php" hash="7395ec95b32b67e34b33e5c0efc806a5"/></dir></dir></dir></dir></dir><dir name="Cart"><file name="Shipping.php" hash="1fbc8d7fab262e6b5cd761143a41f051"/></dir><dir name="Onepage"><dir name="Shipping"><dir name="Method"><dir name="Available"><file name="Single.php" hash="c8c8741458ce6a114111411d8eb4b6db"/></dir><file name="Available.php" hash="1e4764e6fec91175b92b8127e67df91d"/></dir></dir></dir><dir name="Product"><dir name="Shipping"><file name="Methods.php" hash="dd1dabfa05cd2e83668a67cabcfd579f"/></dir><file name="Shipping.php" hash="f46ba19649cfd0e6ef65c428e743d987"/></dir><dir name="Wizard"><file name="Html.php" hash="9cd02a7e33db9ec002be76f0f2f53dac"/></dir></dir><dir name="Helper"><file name="Data.php" hash="2fef3b2ba9d7882118bb1eeeaabdf9c9"/><file name="Functions.php" hash="be974e86582c6235f06fcbbe751d3aa6"/><file name="Wizard.php" hash="e6e9d039d321b7495906ac4233a83b18"/></dir><dir name="Model"><dir name="Api"><file name="Client.php" hash="9d982023c0b1d4be86797cf53ecd4e44"/><dir name="Request"><file name="Anything.php" hash="4f09aeef29fb6f96fb16141732f796eb"/><file name="Anythings.php" hash="d3fb55824ed60a0e836db74805038fa2"/><file name="Anytime.php" hash="0c06ea38006ecbb72de2956328cba062"/><file name="Anywhere.php" hash="472902806c8c5304983b18c9c3cfbd5f"/></dir><file name="Request.php" hash="43825b6d395d9a5fff760c07eebbb105"/></dir><file name="Box.php" hash="e70430957f55d49f1232d005af69f3b2"/><file name="Carrier.php" hash="50756d3ea67163919a75725527e8426c"/><dir name="Entity"><dir name="Attribute"><dir name="Source"><dir name="Packaging"><file name="Mode.php" hash="9df70852ceade33a14cf218097f25a36"/></dir><file name="Packaging.php" hash="ae6e48d5e498d11a11feed2f00e03fa8"/></dir></dir></dir><file name="Manifest.php" hash="b870f55b33b3855754a5a4347e2acfec"/><dir name="Mysql4"><dir name="Box"><file name="Collection.php" hash="17e5ff275a0aa8b04a64caab93768198"/></dir><file name="Box.php" hash="105acbf44a10b982413168c199514319"/><dir name="Carrier"><file name="Collection.php" hash="174b62be56ac079b36ca9a11a99f6142"/></dir><file name="Carrier.php" hash="39ac233fc0ef641ed457c651fd3c2eeb"/><dir name="Manifest"><file name="Collection.php" hash="0c2a69f2d9d5c2e9111bed3253d823ed"/></dir><file name="Manifest.php" hash="536353cfe126f5d43ae95452104ba448"/><dir name="Quote"><file name="Collection.php" hash="dfcd02a112c7f3abf2c3202bed33538a"/></dir><file name="Quote.php" hash="63becb2e43f8fc6ac06844dc6789b303"/><dir name="Shipment"><file name="Collection.php" hash="c8d2075067d5639a81869e95d44feaf1"/></dir><file name="Shipment.php" hash="a8d05cbed0386249f61af2e73c76230b"/></dir><file name="Observer.php" hash="1ae057118666afd1c84fe50e88cede42"/><dir name="Option"><file name="Abstract.php" hash="845fdf3b2fee7a96635a84eb06130e6c"/><dir name="Action"><file name="Abstract.php" hash="8e556a5043c78ba9800a64cbea2743a0"/><file name="Carbon.php" hash="2bf7a9c3905a2c4a9dd88bb9bf602ab4"/><file name="Footprints.php" hash="74ee69751cde833b464d6fad7e8bc7b5"/><file name="Insurance.php" hash="1c312f12a62f57f555007530ad9ed722"/><file name="Markup.php" hash="978738810a3d2ebf9b08105c9080bf10"/></dir><file name="Boolean.php" hash="0c4403b4ab0ec33e4439dfc054025a03"/><file name="Carbonoffset.php" hash="bf4d22d25297028013e79780d3256823"/><file name="Footprints.php" hash="c9b88d2871350f7620440cec4c512fb9"/><file name="Insurance.php" hash="7150dadd9c5c7c7e7c8790171724c846"/></dir><file name="Options.php" hash="c46e411a9090f01704b491d9f6c19886"/><file name="Pcs.php" hash="0ef8c4652aa4ec249798cea5b6ce8a15"/><file name="Quote.php" hash="95fa395a9d7667535e3d3b9fc6e5d15f"/><file name="Shipment.php" hash="8e5041e8816edf35fe9147166afc3aa3"/><dir name="Shipping"><dir name="Carrier"><dir name="Temando"><dir name="Source"><file name="Method.php" hash="bf6d6aca40c0412da85137b0926a13c9"/></dir></dir><file name="Temando.php" hash="74fb32dcd49427dd956962906d91e735"/></dir></dir><file name="Status.php" hash="1748281382c1f2b910d7488925ab3d60"/><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Form"><dir name="Field"><dir name="Required"><file name="Businessresidential.php" hash="6a4a4a22dece6e05986afbff0474e258"/><file name="Country.php" hash="7c15ab9b62776c3939f6680e81e1d994"/><file name="Location.php" hash="96507e0e7ed730c99f4dd5f6aa743016"/><file name="Text.php" hash="3961607ac0d632430b484ef141865806"/></dir></dir></dir></dir><dir name="Source"><file name="Carbon.php" hash="07b6561ce1b560905725171c7958405c"/><dir name="Client"><file name="Type.php" hash="835708cd4be50379608fb01f8dbd4850"/></dir><file name="Country.php" hash="0a2557957d861e4ea3ed193f47eba051"/><file name="Errorprocess.php" hash="cd95e7ea47d642cd0f8a21d41e39366e"/><file name="Footprints.php" hash="385e1dc417b73717f17af956e68c385d"/><file name="Insurance.php" hash="11e73d49bac7cb4e3ca0e602c1c1fda9"/><file name="Labeltype.php" hash="82303e781742500d5d059c8773a92a1a"/><dir name="Origin"><file name="Type.php" hash="167e76f7b939e3c627b98ee0318ab264"/></dir><file name="Payment.php" hash="d3064a5eb8fea1487a47cb93490da3c3"/><file name="Pricing.php" hash="bb23c6250fd511af49e61692f871db72"/><file name="Readytime.php" hash="dfe95a917cf3d4b5e26c7972e6574bc3"/><file name="Regions.php" hash="d5d46eeba382e53a8ede61aaba4836a4"/><dir name="Rule"><dir name="Action"><dir name="Adjustment"><file name="Type.php" hash="32b0133d904961669456aa2889985ce8"/></dir><file name="Filter.php" hash="60d47b88f85a19445a1f49103906fda1"/></dir><dir name="Condition"><file name="Time.php" hash="075adcdcb0be9662b34c517665e912b7"/><file name="Type.php" hash="0622631836a3306e53a11e6b1e326e6d"/></dir><file name="Type.php" hash="5a2e0cee02f99c3f68536bf26cbea199"/></dir><dir name="Sales"><dir name="Order"><file name="Status.php" hash="39eceb8a78224871b19d5b09304a56be"/></dir></dir><dir name="Shipment"><file name="Class.php" hash="3291adbe6ba99934a2dbcf19f6b83e46"/><dir name="Packaging"><file name="Mode.php" hash="f61cc126ebd4addab8a5b94c7c3a3f6c"/></dir><file name="Packaging.php" hash="853ab9b82b429b2db6cace1da9429db9"/><file name="Service.php" hash="d12ddd193d2f6f74cb9c1ca0e1729a1f"/><file name="Status.php" hash="e74bb51a02f1357f44d8f0052c682181"/></dir><dir name="Unit"><file name="Measure.php" hash="01bbc3e2f7f688f9edf54f40bb46c686"/><file name="Weight.php" hash="6b74dde04ffdc951aeed3fb1db60599e"/></dir><file name="Unit.php" hash="b8e75f2efede007b004c47acadea6a84"/><file name="Wizard.php" hash="e15c3299e167f77d527a46e34b13639f"/></dir><file name="Source.php" hash="a302b7ecd757be23940dcf82521895b6"/></dir></dir><file name="Wizard.php" hash="f95c6731ffa7731012e7d0d73dd0099e"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="JsonController.php" hash="ce01376bdf43f939c802448c880cfd32"/><file name="ManifestController.php" hash="fa62d93cc16d380f0bf1ad3aca758911"/><file name="ShipmentController.php" hash="f856c0c8dc8f4eb8be55239761afd5b4"/><file name="WizardController.php" hash="f16d65423c9b5717c48b06683d16cf4b"/></dir><file name="PcsController.php" hash="ceb5df1a7744f165039f69beda17c444"/><file name="WizardController.php" hash="5e5dac3f10dbdc8a07fb0e18fcf5409a"/></dir><dir name="etc"><file name="adminhtml.xml" hash="b751b086b4c92da219b6f281a80e5dd4"/><file name="config.xml" hash="0a9aeb840ef4552db116815a26325416"/><file name="system.xml" hash="a6f175c2d1c96fa9c9055831ed6d8659"/></dir><dir name="sql"><dir name="temando_setup"><file name="mysql4-install-1.0.0.php" hash="8f22dad6cc2162119422a468b8af9941"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="temando.xml" hash="237fb894c1c1c043252b09169bb3b112"/></dir><dir name="template"><dir name="temando"><dir name="temando"><file name="manifest.phtml" hash="d835ced7bd903e5d42d2b49a5537f531"/><file name="menu.phtml" hash="bc78fd42ac729ba19b4219018c052e21"/><file name="origin-avs.phtml" hash="2da4326466b0c2f581c6ecd4ffdf84a8"/><file name="region.phtml" hash="f2e8cbfbc57ef74a6b29925574de5cb1"/><dir name="shipment"><file name="anytime.phtml" hash="c4fcc5734b8740361df38f269231d606"/><file name="anywhere.phtml" hash="44298e9c66554ccbb5a04208e837146a"/><file name="boxes.phtml" hash="17f7c6a64d3c04b9787b5153abe7b11c"/><file name="insurance.phtml" hash="f3879be513ccc3e187d77156456b8033"/><file name="origin.phtml" hash="c53de035c9508d81c078501edcb70ef2"/><file name="products.phtml" hash="50a8ea7f8c1a26957222b031c19574ad"/><file name="quotes.phtml" hash="f7269534550b5b316da2e77ca23db5cc"/><file name="status.phtml" hash="3d54c1e6fd9f141fcf656e7e1d6faa98"/></dir><file name="shipment.phtml" hash="1241671844d42046b21240a2c38bb11d"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="temando.xml" hash="f73f25cfa4ecd30dc33318924737f9f3"/></dir><dir name="template"><dir name="temando"><dir name="temando"><dir name="checkout"><dir name="cart"><file name="shipping.phtml" hash="dd0e55e2e3f5874fc5555712b236074a"/></dir></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="eff5b6cb90507e045b8ee51dae663052"/></dir></dir><dir name="onestep"><file name="options.phtml" hash="98531ee392e6978bf89dddcc3455937c"/><file name="shipping_method.phtml" hash="99c92bbdc269c1725762de538d43bc4c"/></dir><file name="pcs.phtml" hash="b7e3f5628f846afe259380be460a8d0b"/><dir name="product"><dir name="shipping"><file name="methods.phtml" hash="36c3f21e81bcd80c2406fffb6e72025c"/></dir><file name="shipping.phtml" hash="d639fe215ebb11d446477fcbece6a643"/></dir><dir name="shipping_method"><dir name="available"><file name="options_single.phtml" hash="72416b76aa5da5213a59dd8cc5b3dc0e"/></dir><file name="available.phtml" hash="98ec0f1e1293b62d2d14e7ef48e3947c"/></dir><dir name="wizard"><file name="account.phtml" hash="72f40a25e1f4d3919ac359d70ed0ea20"/><file name="carriers.phtml" hash="50f59b8dc44524555bc70f1ed4713a7c"/><file name="catalog_product.phtml" hash="db9530c3756488f0052f1fe6ab76d1bb"/><file name="countries.phtml" hash="f2bb5321ec71f85f34e64adb70f714b9"/><file name="end.phtml" hash="0e15bfc374029c9c088d423a313fd405"/><file name="left.phtml" hash="415f16cc0434db85e8b5b19aaa2bf087"/><file name="origin.phtml" hash="a97ef2c7fe6ecf034c5649ea9c46492b"/><file name="rule.phtml" hash="bea3961cb3feacab76623ca4df95a4b4"/></dir><file name="wizard.phtml" hash="c7f8d13602b5b68374290b62a04ce97d"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="temando"><file name="autocomplete.js" hash="401e3126c3421cafeaadf67613b40d51"/><file name="avs.js" hash="18b7b8a01b945767842a25dbf4e21acd"/><file name="grid.js" hash="5c35e0afdf1988d3ea2770a00ac5999e"/><file name="menu.js" hash="c6b9d402e0de287d2f92086c897a71c8"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="js"><file name="temando.js" hash="dd7f5c8137271c814a0a25d1db951879"/></dir><dir name="temando"><dir name="images"><file name="ajax-s-load.gif" hash="0ea8ba3fe3e60b73eda7d6de57fd8e01"/><file name="bg_notifications.gif" hash="d2a0489d0c3714bed22f9b06f4b81d43"/><file name="shadow.png" hash="b5b27e0dd88d44d4a5d8e63bb61a1239"/><file name="temando_logo.jpg" hash="04d2dbd664ff68a4be7364113f30572f"/></dir><file name="styles.css" hash="2d9c985c31622016db01e966974d70be"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="temando"><file name="autocomplete.css" hash="90387e5610631653a4bd97c7af3d444e"/><dir name="images"><file name="ajax-s-load.gif" hash="0ea8ba3fe3e60b73eda7d6de57fd8e01"/><file name="find_ext.png" hash="a6ba701a9256a2c775255965df1918c7"/><file name="i_shipping.gif" hash="91a0d2cc2eb2391f90ec8a75c04b3183"/><file name="shadow.png" hash="b5b27e0dd88d44d4a5d8e63bb61a1239"/></dir><file name="product.css" hash="d1679e756012f66391758a09d0918986"/><file name="styles.css" hash="990cb30792de7e9b46042a7d09be73d3"/></dir></dir><dir name="js"><dir name="temando"><file name="checkout.js" hash="36104cf24ce430cec568131597409bb2"/><file name="product.js" hash="989198862c7674f23adbed4d3bfa3de5"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Temando_Temando.csv" hash="10f9eea67d58ed17f7b81aec76803459"/></dir></target></contents>
39
  <compatible/>
40
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php><extension><name>soap</name><min>1.2</min><max/></extension></required></dependencies>
41
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Temando_Temando</name>
4
+ <version>1.3.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software Licence</license>
7
  <channel>community</channel>
27
  &#x2022; Packaging logic to predict box sizes&#xD;
28
  </description>
29
  <notes>Temando Shipping Extension &#x2013; Starter Version&#xD;
30
+ &#x2022; New Feature: Ability to update carriers from API&#xD;
31
+ &#x2022; New Feature: Advanced tracking histories&#xD;
32
+ &#x2022; Additional changes to language file &#xD;
33
  &#x2022; Miscellaneous bug fixes&#xD;
34
  </notes>
35
  <authors><author><name>Temando</name><user>Temando</user><email>marketing@temando.com</email></author></authors>
36
+ <date>2015-01-30</date>
37
+ <time>03:50:37</time>
38
+ <contents><target name="mageetc"><dir name="modules"><file name="Temando_Temando.xml" hash="5bcf129ec4955186ed97d4b57def464b"/></dir></target><target name="magecommunity"><dir name="Temando"><dir name="Temando"><dir name="Block"><dir name="Adminhtml"><dir name="Manifest"><dir name="Filter"><file name="Form.php" hash="e9efc42fb9f7bdd7bbea32fad8e21ab1"/></dir><dir name="Grid"><dir name="Renderer"><file name="Checkbox.php" hash="dbbf607c8fb511e62872cecb0ada8b88"/></dir></dir><file name="Grid.php" hash="4ea69275d91d98cc52d13e0f99398696"/></dir><file name="Manifest.php" hash="9181440e747ba9540493db3f30d2a37b"/><dir name="Shipment"><dir name="Edit"><file name="Form.php" hash="d4d581256d38e9cd8b9ccf0242d18497"/><dir name="Tab"><file name="Abstract.php" hash="155de5f6e4727d461128291e8bcabe10"/><dir name="Form"><file name="Anytime.php" hash="2d3a4223b61a439bc55312b03eb7f883"/><file name="Anywhere.php" hash="27cffb5864d8999c85081bf3dc6714ce"/><file name="Boxes.php" hash="18b4b6325dc512621022eb912b187b28"/><file name="Insurance.php" hash="cbb8c1e5157b80a5af78efee20e016f7"/><file name="Origin.php" hash="0c6f873b02e70b05ecdb01cb63f470ec"/><file name="Products.php" hash="953cc0fe59529484e47e2c38ad7d3e0a"/><file name="Quotes.php" hash="e1c275fe37b658c1dc6492fdaab53667"/><file name="Status.php" hash="9c44fb52c6f9fd38f49942fa868c69d4"/></dir><file name="Form.php" hash="563c145f09c8b90d50d3b77f727fc7b5"/></dir><file name="Tabs.php" hash="1f65e9864e845110e9f86c80606a2652"/></dir><file name="Edit.php" hash="555e299bcff530908cc9f7b5aa7a03a8"/><file name="Grid.php" hash="325f2f18f40ad632bf81acef9ef8ec14"/></dir><file name="Shipment.php" hash="aa9e8aaeb190b2b473a9fea9c461fd80"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Button"><file name="Rule.php" hash="3bcd4b7971e825c02d70260e6d2d4b24"/><file name="Update.php" hash="c4bb48c2c6c7da9d31e3e06bdd6150f7"/><file name="Warehouse.php" hash="0669b05bcc25fdfb0570ffa65d7bb9b9"/></dir><dir name="Field"><file name="Insurance.php" hash="cd0f849df18e4643d88e756f9dde071c"/><file name="Required.php" hash="0659fe9b8ef9c4c373a1190d92495e36"/></dir><dir name="Fieldset"><file name="General.php" hash="7395ec95b32b67e34b33e5c0efc806a5"/></dir></dir></dir></dir></dir><dir name="Cart"><file name="Shipping.php" hash="1fbc8d7fab262e6b5cd761143a41f051"/></dir><dir name="Onepage"><dir name="Shipping"><dir name="Method"><dir name="Available"><file name="Single.php" hash="c8c8741458ce6a114111411d8eb4b6db"/></dir><file name="Available.php" hash="1e4764e6fec91175b92b8127e67df91d"/></dir></dir></dir><dir name="Product"><dir name="Shipping"><file name="Methods.php" hash="dd1dabfa05cd2e83668a67cabcfd579f"/></dir><file name="Shipping.php" hash="9af077f289c164ca461a288d4cf2883e"/></dir><dir name="Wizard"><file name="Html.php" hash="9cd02a7e33db9ec002be76f0f2f53dac"/></dir></dir><dir name="Helper"><file name="Data.php" hash="0ac90073c40988991528a7180e1e1dff"/><file name="Functions.php" hash="be974e86582c6235f06fcbbe751d3aa6"/><file name="Wizard.php" hash="e6e9d039d321b7495906ac4233a83b18"/></dir><dir name="Model"><dir name="Api"><file name="Client.php" hash="3b487b56146bf72af9c6d09ad9f3818c"/><dir name="Request"><file name="Anything.php" hash="06d11ae8dea59cbb39f102efb17eb6de"/><file name="Anythings.php" hash="d3fb55824ed60a0e836db74805038fa2"/><file name="Anytime.php" hash="0c06ea38006ecbb72de2956328cba062"/><file name="Anywhere.php" hash="472902806c8c5304983b18c9c3cfbd5f"/></dir><file name="Request.php" hash="43825b6d395d9a5fff760c07eebbb105"/></dir><file name="Box.php" hash="e70430957f55d49f1232d005af69f3b2"/><file name="Carrier.php" hash="50756d3ea67163919a75725527e8426c"/><dir name="Entity"><dir name="Attribute"><dir name="Source"><dir name="Packaging"><file name="Mode.php" hash="9df70852ceade33a14cf218097f25a36"/></dir><file name="Packaging.php" hash="ae6e48d5e498d11a11feed2f00e03fa8"/></dir></dir></dir><file name="Manifest.php" hash="b870f55b33b3855754a5a4347e2acfec"/><dir name="Mysql4"><dir name="Box"><file name="Collection.php" hash="17e5ff275a0aa8b04a64caab93768198"/></dir><file name="Box.php" hash="105acbf44a10b982413168c199514319"/><dir name="Carrier"><file name="Collection.php" hash="174b62be56ac079b36ca9a11a99f6142"/></dir><file name="Carrier.php" hash="39ac233fc0ef641ed457c651fd3c2eeb"/><dir name="Manifest"><file name="Collection.php" hash="0c2a69f2d9d5c2e9111bed3253d823ed"/></dir><file name="Manifest.php" hash="536353cfe126f5d43ae95452104ba448"/><dir name="Quote"><file name="Collection.php" hash="dfcd02a112c7f3abf2c3202bed33538a"/></dir><file name="Quote.php" hash="63becb2e43f8fc6ac06844dc6789b303"/><dir name="Shipment"><file name="Collection.php" hash="c8d2075067d5639a81869e95d44feaf1"/></dir><file name="Shipment.php" hash="a8d05cbed0386249f61af2e73c76230b"/></dir><file name="Observer.php" hash="4243925ee963bc00dc6ae70ad5017a78"/><dir name="Option"><file name="Abstract.php" hash="845fdf3b2fee7a96635a84eb06130e6c"/><dir name="Action"><file name="Abstract.php" hash="8e556a5043c78ba9800a64cbea2743a0"/><file name="Carbon.php" hash="2bf7a9c3905a2c4a9dd88bb9bf602ab4"/><file name="Footprints.php" hash="74ee69751cde833b464d6fad7e8bc7b5"/><file name="Insurance.php" hash="1c312f12a62f57f555007530ad9ed722"/><file name="Markup.php" hash="978738810a3d2ebf9b08105c9080bf10"/></dir><file name="Boolean.php" hash="0c4403b4ab0ec33e4439dfc054025a03"/><file name="Carbonoffset.php" hash="bf4d22d25297028013e79780d3256823"/><file name="Footprints.php" hash="c9b88d2871350f7620440cec4c512fb9"/><file name="Insurance.php" hash="7150dadd9c5c7c7e7c8790171724c846"/></dir><file name="Options.php" hash="c46e411a9090f01704b491d9f6c19886"/><file name="Pcs.php" hash="0ef8c4652aa4ec249798cea5b6ce8a15"/><file name="Quote.php" hash="95fa395a9d7667535e3d3b9fc6e5d15f"/><file name="Shipment.php" hash="8e5041e8816edf35fe9147166afc3aa3"/><dir name="Shipping"><dir name="Carrier"><dir name="Temando"><dir name="Source"><file name="Method.php" hash="bf6d6aca40c0412da85137b0926a13c9"/></dir></dir><file name="Temando.php" hash="5a4260546ca082f74a8fcb8980252b1e"/></dir></dir><file name="Status.php" hash="1748281382c1f2b910d7488925ab3d60"/><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Form"><dir name="Field"><dir name="Required"><file name="Businessresidential.php" hash="6a4a4a22dece6e05986afbff0474e258"/><file name="Country.php" hash="7c15ab9b62776c3939f6680e81e1d994"/><file name="Location.php" hash="96507e0e7ed730c99f4dd5f6aa743016"/><file name="Text.php" hash="3961607ac0d632430b484ef141865806"/></dir></dir></dir></dir><dir name="Source"><file name="Carbon.php" hash="07b6561ce1b560905725171c7958405c"/><dir name="Client"><file name="Type.php" hash="835708cd4be50379608fb01f8dbd4850"/></dir><file name="Country.php" hash="0a2557957d861e4ea3ed193f47eba051"/><file name="Errorprocess.php" hash="cd95e7ea47d642cd0f8a21d41e39366e"/><file name="Footprints.php" hash="385e1dc417b73717f17af956e68c385d"/><file name="Insurance.php" hash="11e73d49bac7cb4e3ca0e602c1c1fda9"/><file name="Labeltype.php" hash="1cb544e144805a7bfc95dc88f90d8b76"/><dir name="Origin"><file name="Type.php" hash="167e76f7b939e3c627b98ee0318ab264"/></dir><file name="Payment.php" hash="d3064a5eb8fea1487a47cb93490da3c3"/><file name="Pricing.php" hash="bb23c6250fd511af49e61692f871db72"/><file name="Readytime.php" hash="dfe95a917cf3d4b5e26c7972e6574bc3"/><file name="Regions.php" hash="d5d46eeba382e53a8ede61aaba4836a4"/><dir name="Rule"><dir name="Action"><dir name="Adjustment"><file name="Type.php" hash="32b0133d904961669456aa2889985ce8"/></dir><file name="Filter.php" hash="60d47b88f85a19445a1f49103906fda1"/></dir><dir name="Condition"><file name="Time.php" hash="075adcdcb0be9662b34c517665e912b7"/><file name="Type.php" hash="0622631836a3306e53a11e6b1e326e6d"/></dir><file name="Type.php" hash="5a2e0cee02f99c3f68536bf26cbea199"/></dir><dir name="Sales"><dir name="Order"><file name="Status.php" hash="39eceb8a78224871b19d5b09304a56be"/></dir></dir><dir name="Shipment"><file name="Class.php" hash="3291adbe6ba99934a2dbcf19f6b83e46"/><dir name="Packaging"><file name="Mode.php" hash="f61cc126ebd4addab8a5b94c7c3a3f6c"/></dir><file name="Packaging.php" hash="be982e5c6abd0ba81fef179fe0a71286"/><file name="Service.php" hash="d12ddd193d2f6f74cb9c1ca0e1729a1f"/><file name="Status.php" hash="e74bb51a02f1357f44d8f0052c682181"/></dir><dir name="Unit"><file name="Measure.php" hash="01bbc3e2f7f688f9edf54f40bb46c686"/><file name="Weight.php" hash="6b74dde04ffdc951aeed3fb1db60599e"/></dir><file name="Unit.php" hash="b8e75f2efede007b004c47acadea6a84"/><file name="Wizard.php" hash="e15c3299e167f77d527a46e34b13639f"/></dir><file name="Source.php" hash="a302b7ecd757be23940dcf82521895b6"/></dir></dir><file name="Wizard.php" hash="f95c6731ffa7731012e7d0d73dd0099e"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="CarrierController.php" hash="a213b7332ed0d987a8e8b34f1543404a"/><file name="JsonController.php" hash="ce01376bdf43f939c802448c880cfd32"/><file name="ManifestController.php" hash="fa62d93cc16d380f0bf1ad3aca758911"/><file name="ShipmentController.php" hash="f856c0c8dc8f4eb8be55239761afd5b4"/><file name="WizardController.php" hash="f16d65423c9b5717c48b06683d16cf4b"/></dir><file name="PcsController.php" hash="4b927ced23c83691dc0db668d0322adf"/><file name="WizardController.php" hash="5e5dac3f10dbdc8a07fb0e18fcf5409a"/></dir><dir name="etc"><file name="adminhtml.xml" hash="b751b086b4c92da219b6f281a80e5dd4"/><file name="config.xml" hash="e3e06cd06cd341b57d52deccc56936ad"/><file name="system.xml" hash="9b4a0e4918ed4765a5e973578b65fe8c"/></dir><dir name="sql"><dir name="temando_setup"><file name="mysql4-install-1.0.0.php" hash="8f22dad6cc2162119422a468b8af9941"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="temando.xml" hash="237fb894c1c1c043252b09169bb3b112"/></dir><dir name="template"><dir name="temando"><dir name="temando"><file name="manifest.phtml" hash="d835ced7bd903e5d42d2b49a5537f531"/><file name="menu.phtml" hash="bc78fd42ac729ba19b4219018c052e21"/><file name="origin-avs.phtml" hash="2da4326466b0c2f581c6ecd4ffdf84a8"/><file name="region.phtml" hash="f2e8cbfbc57ef74a6b29925574de5cb1"/><dir name="shipment"><file name="anytime.phtml" hash="c4fcc5734b8740361df38f269231d606"/><file name="anywhere.phtml" hash="44298e9c66554ccbb5a04208e837146a"/><file name="boxes.phtml" hash="17f7c6a64d3c04b9787b5153abe7b11c"/><file name="insurance.phtml" hash="f3879be513ccc3e187d77156456b8033"/><file name="origin.phtml" hash="c53de035c9508d81c078501edcb70ef2"/><file name="products.phtml" hash="50a8ea7f8c1a26957222b031c19574ad"/><file name="quotes.phtml" hash="f7269534550b5b316da2e77ca23db5cc"/><file name="status.phtml" hash="3d54c1e6fd9f141fcf656e7e1d6faa98"/></dir><file name="shipment.phtml" hash="1241671844d42046b21240a2c38bb11d"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="temando.xml" hash="f73f25cfa4ecd30dc33318924737f9f3"/></dir><dir name="template"><dir name="temando"><dir name="temando"><dir name="checkout"><dir name="cart"><file name="shipping.phtml" hash="dd0e55e2e3f5874fc5555712b236074a"/></dir></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="eff5b6cb90507e045b8ee51dae663052"/></dir></dir><dir name="onestep"><file name="options.phtml" hash="98531ee392e6978bf89dddcc3455937c"/><file name="shipping_method.phtml" hash="99c92bbdc269c1725762de538d43bc4c"/></dir><file name="pcs.phtml" hash="b7e3f5628f846afe259380be460a8d0b"/><dir name="product"><dir name="shipping"><file name="methods.phtml" hash="36c3f21e81bcd80c2406fffb6e72025c"/></dir><file name="shipping.phtml" hash="d639fe215ebb11d446477fcbece6a643"/></dir><dir name="shipping_method"><dir name="available"><file name="options_single.phtml" hash="72416b76aa5da5213a59dd8cc5b3dc0e"/></dir><file name="available.phtml" hash="98ec0f1e1293b62d2d14e7ef48e3947c"/></dir><dir name="wizard"><file name="account.phtml" hash="72f40a25e1f4d3919ac359d70ed0ea20"/><file name="carriers.phtml" hash="50f59b8dc44524555bc70f1ed4713a7c"/><file name="catalog_product.phtml" hash="db9530c3756488f0052f1fe6ab76d1bb"/><file name="countries.phtml" hash="f2bb5321ec71f85f34e64adb70f714b9"/><file name="end.phtml" hash="0e15bfc374029c9c088d423a313fd405"/><file name="left.phtml" hash="415f16cc0434db85e8b5b19aaa2bf087"/><file name="origin.phtml" hash="a97ef2c7fe6ecf034c5649ea9c46492b"/><file name="rule.phtml" hash="bea3961cb3feacab76623ca4df95a4b4"/></dir><file name="wizard.phtml" hash="c7f8d13602b5b68374290b62a04ce97d"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="temando"><file name="autocomplete.js" hash="401e3126c3421cafeaadf67613b40d51"/><file name="avs.js" hash="18b7b8a01b945767842a25dbf4e21acd"/><file name="grid.js" hash="5c35e0afdf1988d3ea2770a00ac5999e"/><file name="menu.js" hash="c6b9d402e0de287d2f92086c897a71c8"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="js"><file name="temando.js" hash="dd7f5c8137271c814a0a25d1db951879"/></dir><dir name="temando"><dir name="images"><file name="ajax-s-load.gif" hash="0ea8ba3fe3e60b73eda7d6de57fd8e01"/><file name="bg_notifications.gif" hash="d2a0489d0c3714bed22f9b06f4b81d43"/><file name="shadow.png" hash="b5b27e0dd88d44d4a5d8e63bb61a1239"/><file name="temando_logo.jpg" hash="04d2dbd664ff68a4be7364113f30572f"/></dir><file name="styles.css" hash="2d9c985c31622016db01e966974d70be"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="temando"><file name="autocomplete.css" hash="90387e5610631653a4bd97c7af3d444e"/><dir name="images"><file name="ajax-s-load.gif" hash="0ea8ba3fe3e60b73eda7d6de57fd8e01"/><file name="find_ext.png" hash="a6ba701a9256a2c775255965df1918c7"/><file name="i_shipping.gif" hash="91a0d2cc2eb2391f90ec8a75c04b3183"/><file name="shadow.png" hash="b5b27e0dd88d44d4a5d8e63bb61a1239"/></dir><file name="product.css" hash="d1679e756012f66391758a09d0918986"/><file name="styles.css" hash="990cb30792de7e9b46042a7d09be73d3"/></dir></dir><dir name="js"><dir name="temando"><file name="checkout.js" hash="36104cf24ce430cec568131597409bb2"/><file name="product.js" hash="989198862c7674f23adbed4d3bfa3de5"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Temando_Temando.csv" hash="6d103ef94de44563bd775e8a2dde9804"/></dir></target></contents>
39
  <compatible/>
40
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php><extension><name>soap</name><min>1.2</min><max/></extension></required></dependencies>
41
  </package>