Speedy_Shipping - Version 2.1.1

Version Notes

Version 2.1.1

Download this release

Release Info

Developer Speedy JSC
Extension Speedy_Shipping
Version 2.1.1
Comparing to
See all releases


Code changes from version 2.0.2 to 2.1.1

Files changed (32) hide show
  1. app/code/community/Speedy/Speedyshipping/Block/Adminhtml/Billoflading.php +41 -2
  2. app/code/community/Speedy/Speedyshipping/Block/Adminhtml/Requestcourier/Grid.php +8 -0
  3. app/code/community/Speedy/Speedyshipping/Block/Adminhtml/Requestcourier/Renderer/Viewprintvoucher.php +45 -0
  4. app/code/community/Speedy/Speedyshipping/Helper/Data.php +24 -2
  5. app/code/community/Speedy/Speedyshipping/Model/Carrier/Shippingmethod.php +2 -1
  6. app/code/community/Speedy/Speedyshipping/Model/Carrier/Source/Payertype.php +29 -0
  7. app/code/community/Speedy/Speedyshipping/Model/Resource/Carrier/Tablerate.php +42 -24
  8. app/code/community/Speedy/Speedyshipping/Model/Resource/Carrier/Tablerate/Collection.php +12 -5
  9. app/code/community/Speedy/Speedyshipping/controllers/Adminhtml/PrintController.php +126 -2
  10. app/code/community/Speedy/Speedyshipping/etc/config.xml +1 -1
  11. app/code/community/Speedy/Speedyshipping/etc/system.xml +39 -0
  12. app/code/community/Speedy/Speedyshipping/sql/speedyshippingmodule_setup/mysql4-upgrade-2.0.2-2.1.0.php +12 -0
  13. app/design/adminhtml/default/default/template/speedy_speedyshipping/billoflading.phtml +1 -0
  14. app/design/adminhtml/default/default/template/speedy_speedyshipping/pickupform.phtml +1 -1
  15. app/design/adminhtml/default/default/template/speedy_speedyshipping/sales/order/create/billing/method/paymentInfo.phtml +1 -1
  16. app/design/frontend/base/default/template/speedy_speedyshipping/checkout/onepage/payment_method/paymentInfo.phtml +1 -1
  17. app/design/frontend/base/default/template/speedy_speedyshipping/checkout/onepage/shipping_method/available.phtml +1 -1
  18. app/design/frontend/base/default/template/speedy_speedyshipping/checkout/onepage/shipping_method/pickupform.phtml +1 -1
  19. app/locale/bg_BG/speedyTranslate.csv +7 -0
  20. app/locale/en_US/speedyTranslate.csv +7 -0
  21. lib/SpeedyEPS/ver01/CODPayment.class.php +49 -0
  22. lib/SpeedyEPS/ver01/EPSFacade.class.php +15 -2
  23. lib/SpeedyEPS/ver01/EPSInterface.class.php +13 -1
  24. lib/SpeedyEPS/ver01/ParamCalculation.class.php +25 -0
  25. lib/SpeedyEPS/ver01/ResultCourierServiceExt.class.php +15 -0
  26. lib/SpeedyEPS/ver01/ResultDeliveryInfo.class.php +1 -1
  27. lib/SpeedyEPS/ver01/ResultOfficeEx.class.php +218 -201
  28. lib/SpeedyEPS/ver01/ResultParcelInfoEx.class.php +30 -0
  29. lib/SpeedyEPS/ver01/ResultPickingExtendedInfo.class.php +1 -0
  30. lib/SpeedyEPS/ver01/ResultRoutingLabelInfo.class.php +113 -0
  31. lib/SpeedyEPS/ver01/soap/EPSSOAPInterfaceImpl.class.php +25 -1
  32. package.xml +7 -7
app/code/community/Speedy/Speedyshipping/Block/Adminhtml/Billoflading.php CHANGED
@@ -19,7 +19,13 @@ class Speedy_Speedyshipping_Block_Adminhtml_Billoflading extends Mage_Adminhtml_
19
  */
20
  protected $_printUrl = null;
21
 
22
-
 
 
 
 
 
 
23
  /**
24
  *The URL, used to create bill of laging
25
  * @var type
@@ -109,7 +115,12 @@ class Speedy_Speedyshipping_Block_Adminhtml_Billoflading extends Mage_Adminhtml_
109
  'order_id' => (int) $orderId,
110
  'shipment_id' => (int) $shipmentId,
111
  'has_printer' => $hasPrinter));
112
-
 
 
 
 
 
113
  $this->_checkDateUrl = $this->getUrl('speedyshipping/print/checkDate', array(
114
  'order_id' => (int) $orderId,
115
  'shipment_id' => (int) $shipmentId));
@@ -192,6 +203,10 @@ class Speedy_Speedyshipping_Block_Adminhtml_Billoflading extends Mage_Adminhtml_
192
  return $this->_printUrl;
193
  }
194
 
 
 
 
 
195
  public function getCheckDateUrl(){
196
  return $this->_checkDateUrl;
197
  }
@@ -262,6 +277,30 @@ class Speedy_Speedyshipping_Block_Adminhtml_Billoflading extends Mage_Adminhtml_
262
  ->toHtml();
263
  }
264
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
265
  public function getHeaderText() {
266
  return $this->__("Print Bill of lading");
267
  }
19
  */
20
  protected $_printUrl = null;
21
 
22
+
23
+ /**
24
+ * The URL, used to print a return voucher
25
+ * @var type
26
+ */
27
+ protected $_printReturnVoucher = null;
28
+
29
  /**
30
  *The URL, used to create bill of laging
31
  * @var type
115
  'order_id' => (int) $orderId,
116
  'shipment_id' => (int) $shipmentId,
117
  'has_printer' => $hasPrinter));
118
+
119
+ $this->_printReturnVoucher = $this->getUrl('speedyshipping/print/printReturnVoucher', array(
120
+ 'order_id' => (int) $orderId,
121
+ 'shipment_id' => (int) $shipmentId,
122
+ 'has_printer' => $hasPrinter));
123
+
124
  $this->_checkDateUrl = $this->getUrl('speedyshipping/print/checkDate', array(
125
  'order_id' => (int) $orderId,
126
  'shipment_id' => (int) $shipmentId));
203
  return $this->_printUrl;
204
  }
205
 
206
+ public function getPrintReturnVoucher() {
207
+ return $this->_printReturnVoucher;
208
+ }
209
+
210
  public function getCheckDateUrl(){
211
  return $this->_checkDateUrl;
212
  }
277
  ->toHtml();
278
  }
279
 
280
+ public function getPrintReturnVoucherButton() {
281
+ $shipmentId = $this->getRequest()->getParam('shipment_id');
282
+ $shipment = Mage::getModel('sales/order_shipment')->load($shipmentId);
283
+ $this->_orderId = $shipment->getOrderId();
284
+
285
+ $returnVoucherRequested = Mage::helper('speedyshippingmodule')->checkReturnVoucherRequested($this->_speedyData->getBolId());
286
+
287
+ if ($returnVoucherRequested) {
288
+ $label = $this->__('Print return voucher');
289
+
290
+ $funcName = "popWin('" . $this->_printReturnVoucher . "')";
291
+
292
+ return $this->getLayout()
293
+ ->createBlock('adminhtml/widget_button')
294
+ ->setData(array(
295
+ 'label' => $label,
296
+ 'onclick' => $funcName
297
+ ))
298
+ ->toHtml();
299
+ }
300
+
301
+ return;
302
+ }
303
+
304
  public function getHeaderText() {
305
  return $this->__("Print Bill of lading");
306
  }
app/code/community/Speedy/Speedyshipping/Block/Adminhtml/Requestcourier/Grid.php CHANGED
@@ -130,6 +130,14 @@ Mage_Adminhtml_Block_Widget_Grid {
130
  'filter' => false
131
  ));
132
 
 
 
 
 
 
 
 
 
133
  return parent::_prepareColumns();
134
  }
135
 
130
  'filter' => false
131
  ));
132
 
133
+ $this->addColumn('view_print_voucher', array(
134
+ 'header' => '',
135
+ 'align' => 'center',
136
+ 'index' => 'view_print_voucher',
137
+ 'renderer' => 'speedyshippingmodule/adminhtml_requestcourier_renderer_viewprintvoucher',
138
+ 'filter' => false
139
+ ));
140
+
141
  return parent::_prepareColumns();
142
  }
143
 
app/code/community/Speedy/Speedyshipping/Block/Adminhtml/Requestcourier/Renderer/Viewprintvoucher.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * To change this template, choose Tools | Templates
5
+ * and open the template in the editor.
6
+ */
7
+
8
+ /**
9
+ * Description of Vieworder
10
+ *
11
+ * @author killer
12
+ */
13
+ class Speedy_Speedyshipping_Block_Adminhtml_Requestcourier_Renderer_Viewprintvoucher
14
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract{
15
+ //put your code here
16
+
17
+ public function render(Varien_Object $row)
18
+ {
19
+ $hasPrinter = Mage::getStoreConfig('carriers/speedyshippingmodule/has_label_printer');
20
+ $targetUrl = Mage::helper("adminhtml")->getUrl('speedyshipping/print/printReturnVoucher/',
21
+ array(
22
+ 'order_id'=>(int)$row->getOrderId(),
23
+ 'has_printer'=>$hasPrinter));
24
+ $funcName = "popWin('".$targetUrl."')";
25
+ $buttonLabel = null;
26
+
27
+ $returnVoucherRequested = Mage::helper('speedyshippingmodule')->checkReturnVoucherRequested($row->getBolId());
28
+
29
+ if ($returnVoucherRequested) {
30
+ $buttonLabel = $this->__("Print return voucher");
31
+
32
+ return $this->getLayout()
33
+ ->createBlock('adminhtml/widget_button')
34
+ ->setData(array(
35
+ 'label' => $buttonLabel,
36
+ 'onclick' => $funcName
37
+ ))
38
+ ->toHtml();
39
+ }
40
+
41
+ return;
42
+ }
43
+ }
44
+
45
+ ?>
app/code/community/Speedy/Speedyshipping/Helper/Data.php CHANGED
@@ -12,8 +12,13 @@
12
  */
13
  class Speedy_Speedyshipping_Helper_Data extends Mage_Core_Helper_Abstract {
14
  //put your code here
15
-
16
-
 
 
 
 
 
17
  protected function _initSpeedyService() {
18
  $speedyUtil = Mage::getBaseDir('lib') . DS . 'SpeedyEPS' . DS . 'util' . DS . 'Util.class.php';
19
  $speedyEPSFacade = Mage::getBaseDir('lib') . DS . 'SpeedyEPS' . DS . 'ver01' . DS . 'EPSFacade.class.php';
@@ -47,6 +52,23 @@ class Speedy_Speedyshipping_Helper_Data extends Mage_Core_Helper_Abstract {
47
  throw new Exception($se->getMessage());
48
  }
49
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  }
51
 
52
  ?>
12
  */
13
  class Speedy_Speedyshipping_Helper_Data extends Mage_Core_Helper_Abstract {
14
  //put your code here
15
+
16
+ protected $_speedyEPS = null;
17
+
18
+ protected $_speedyEPSInterfaceImplementaion = null;
19
+
20
+ protected $_speedySessionId = null;
21
+
22
  protected function _initSpeedyService() {
23
  $speedyUtil = Mage::getBaseDir('lib') . DS . 'SpeedyEPS' . DS . 'util' . DS . 'Util.class.php';
24
  $speedyEPSFacade = Mage::getBaseDir('lib') . DS . 'SpeedyEPS' . DS . 'ver01' . DS . 'EPSFacade.class.php';
52
  throw new Exception($se->getMessage());
53
  }
54
  }
55
+
56
+ public function checkReturnVoucherRequested($bol_id) {
57
+ $this->_initSpeedyService();
58
+ $voucherRequested = false;
59
+
60
+ try {
61
+ $pickingExtendedInfo = $this->_speedyEPS->getPickingExtendedInfo($bol_id);
62
+
63
+ if (!is_null($pickingExtendedInfo->getReturnVoucher()) && ($pickingExtendedInfo->getReturnVoucher() instanceof ResultReturnVoucher)) {
64
+ $voucherRequested = true;
65
+ }
66
+ } catch (Exception $e) {
67
+ $this->getResponse()->setBody($e->getMessage());
68
+ }
69
+
70
+ return $voucherRequested;
71
+ }
72
  }
73
 
74
  ?>
app/code/community/Speedy/Speedyshipping/Model/Carrier/Shippingmethod.php CHANGED
@@ -1416,7 +1416,8 @@ class Speedy_Speedyshipping_Model_Carrier_Shippingmethod extends Mage_Shipping_M
1416
  $handlingAmount = Mage::getStoreConfig('carriers/speedyshippingmodule/handlingCharge');
1417
  $total = $total + $taxCalculator->getShippingPrice($handlingAmount, FALSE);
1418
  } else if ($isFixed == 4) {
1419
- $tablerates = Mage::getModel('speedyshippingmodule/carrier_tablerate')->getCollection()->setServiceIdFilter($method->getServiceTypeId())->setTakeFromOfficeFilter($this->_pickingData->takeFromOfficeId ? 1 : 0)->setWeightFilter($this->_pickingData->weightDeclared)->setTotalFilter($total)->setOrderField('weight')->setOrderField('order_total')->getData();
 
1420
  if ($tablerates && isset($tablerates[0])) {
1421
  $total = $tablerates[0]['price_without_vat'];
1422
  } else {
1416
  $handlingAmount = Mage::getStoreConfig('carriers/speedyshippingmodule/handlingCharge');
1417
  $total = $total + $taxCalculator->getShippingPrice($handlingAmount, FALSE);
1418
  } else if ($isFixed == 4) {
1419
+ $totals = Mage::getSingleton('checkout/session')->getQuote()->getTotals();
1420
+ $tablerates = Mage::getModel('speedyshippingmodule/carrier_tablerate')->getCollection()->setServiceIdFilter($method->getServiceTypeId())->setTakeFromOfficeFilter($this->_pickingData->takeFromOfficeId ? 1 : 0)->setWeightFilter($this->_pickingData->weightDeclared)->setTotalFilter($totals['subtotal']->getValue())->setFixedTimeDeliveryFilter($this->_pickingData->fixedTimeDelivery ? 1 : 0)->setOrderField('weight')->setOrderField('order_total')->getData();
1421
  if ($tablerates && isset($tablerates[0])) {
1422
  $total = $tablerates[0]['price_without_vat'];
1423
  } else {
app/code/community/Speedy/Speedyshipping/Model/Carrier/Source/Payertype.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * To change this template, choose Tools | Templates
5
+ * and open the template in the editor.
6
+ */
7
+
8
+ /**
9
+ * Description of beforepayment
10
+ *
11
+ * @author killer
12
+ */
13
+ class Speedy_Speedyshipping_Model_Carrier_Source_Payertype {
14
+
15
+ public function toOptionArray() {
16
+ $arr = array(
17
+ ParamCalculation::PAYER_TYPE_SENDER => Mage::helper('speedyshippingmodule')->__('sender'),
18
+ ParamCalculation::PAYER_TYPE_RECEIVER => Mage::helper('speedyshippingmodule')->__('receiver'),
19
+ );
20
+
21
+ $options = array();
22
+
23
+ foreach ($arr as $key=>$value) {
24
+ $options[] = array('value' => $key, 'label' => $value);
25
+ }
26
+
27
+ return $options;
28
+ }
29
+ }
app/code/community/Speedy/Speedyshipping/Model/Resource/Carrier/Tablerate.php CHANGED
@@ -71,6 +71,8 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate extends Mage_Core_M
71
  $this->_init('speedyshippingmodule/tablerate', 'pk');
72
  }
73
 
 
 
74
  /**
75
  * Upload table rate file and import data from it
76
  *
@@ -97,18 +99,11 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate extends Mage_Core_M
97
  $io->open(array('path' => $info['dirname']));
98
  $io->streamOpen($info['basename'], 'r');
99
 
100
- // check and skip headers
101
- $headers = $io->streamReadCsv();
102
- if ($headers === false || count($headers) < 5) {
103
- $io->streamClose();
104
- Mage::throwException(Mage::helper('shipping')->__('Invalid Speedy Tablerates File Format'));
105
- }
106
-
107
  $adapter = $this->_getWriteAdapter();
108
  $adapter->beginTransaction();
109
 
110
  try {
111
- $rowNumber = 1;
112
  $importData = array();
113
 
114
  // delete old data by website
@@ -167,9 +162,29 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate extends Mage_Core_M
167
  */
168
  protected function _getImportRow($row, $rowNumber = 0)
169
  {
170
- // validate row
171
- if (count($row) < 5) {
172
- $this->_importErrors[] = Mage::helper('shipping')->__('Invalid Speedy Tablerates format in the Row #%s', $rowNumber);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  return false;
174
  }
175
 
@@ -179,40 +194,42 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate extends Mage_Core_M
179
  }
180
 
181
  // validate Service ID
182
- if (!(int)$row[0]) {
183
- $this->_importErrors[] = Mage::helper('shipping')->__('Invalid Speedy Tablerates format in the Row #%s', $rowNumber);
184
  return false;
185
  } else {
186
- $ServiceID = (int)$row[0];
187
  }
188
 
189
- $TakeFromOffice = (int)$row[1];
190
 
191
  // validate weight
192
- $Weight = $this->_parseDecimalValue($row[2]);
193
  if ($Weight === false) {
194
- $this->_importErrors[] = Mage::helper('shipping')->__('Invalid Weight "%s" in the Row #%s.', $row[2], $rowNumber);
195
  return false;
196
  }
197
 
198
  // validate ordertotal
199
- $OrderTotal = $this->_parseDecimalValue($row[3]);
200
  if ($OrderTotal === false) {
201
- $this->_importErrors[] = Mage::helper('shipping')->__('Invalid OrderTotal "%s" in the Row #%s.', $row[3], $rowNumber);
202
  return false;
203
  }
204
 
205
  // validate price without vat
206
- $PriceWithoutVAT = $this->_parseDecimalValue($row[4]);
207
  if ($PriceWithoutVAT === false) {
208
- $this->_importErrors[] = Mage::helper('shipping')->__('Invalid PriceWithoutVAT "%s" in the Row #%s.', $row[4], $rowNumber);
209
  return false;
210
  }
211
 
 
 
212
  // protect from duplicate
213
- $hash = sprintf("%d-%d-%F-%F-%F", $ServiceID, $TakeFromOffice, $Weight, $OrderTotal, $PriceWithoutVAT);
214
  if (isset($this->_importUniqueHash[$hash])) {
215
- $this->_importErrors[] = Mage::helper('shipping')->__('Duplicate Row #%s (ServiceID "%d", TakeFromOffice "%s", Weight "%F", OrderTotal "%F" and PriceWithoutVAT "%F").', $rowNumber, $ServiceID, $TakeFromOffice, $Weight, $OrderTotal, $PriceWithoutVAT);
216
  return false;
217
  }
218
  $this->_importUniqueHash[$hash] = true;
@@ -223,6 +240,7 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate extends Mage_Core_M
223
  $Weight, // Weight
224
  $OrderTotal, // Order Total
225
  $PriceWithoutVAT, // Price Without VAT
 
226
  $this->_importWebsiteId // Website Id
227
  );
228
  }
@@ -236,7 +254,7 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate extends Mage_Core_M
236
  protected function _saveImportData(array $data)
237
  {
238
  if (!empty($data)) {
239
- $columns = array('service_id', 'take_from_office', 'weight', 'order_total', 'price_without_vat', 'website_id',);
240
  $this->_getWriteAdapter()->insertArray($this->getMainTable(), $columns, $data);
241
  $this->_importedRows += count($data);
242
  }
71
  $this->_init('speedyshippingmodule/tablerate', 'pk');
72
  }
73
 
74
+ protected $_fileColumnsIndexes = array();
75
+
76
  /**
77
  * Upload table rate file and import data from it
78
  *
99
  $io->open(array('path' => $info['dirname']));
100
  $io->streamOpen($info['basename'], 'r');
101
 
 
 
 
 
 
 
 
102
  $adapter = $this->_getWriteAdapter();
103
  $adapter->beginTransaction();
104
 
105
  try {
106
+ $rowNumber = 0;
107
  $importData = array();
108
 
109
  // delete old data by website
162
  */
163
  protected function _getImportRow($row, $rowNumber = 0)
164
  {
165
+ $file_columns = array(
166
+ 'ServiceID',
167
+ 'TakeFromOffice',
168
+ 'Weight',
169
+ 'OrderTotal',
170
+ 'PriceWithoutVAT',
171
+ 'FixedTimeDelivery',
172
+ );
173
+
174
+ if ($rowNumber == 1) {
175
+ foreach($row as $index => $columnName) {
176
+ $this->_fileColumnsIndexes[$columnName] = array_search($columnName, $row);
177
+ }
178
+
179
+ sort($row);
180
+ sort($file_columns);
181
+
182
+ // validate row
183
+ if ($row != $file_columns) {
184
+ $this->_importErrors[] = Mage::helper('shipping')->__('Invalid Speedy Tablerates format in the Row #%s', $rowNumber);
185
+ return false;
186
+ }
187
+
188
  return false;
189
  }
190
 
194
  }
195
 
196
  // validate Service ID
197
+ if (!(int)$row[$this->_fileColumnsIndexes['ServiceID']]) {
198
+ $this->_importErrors[] = Mage::helper('shipping')->__('Invalid ServiceID "%d" in the Row #%s', $row[$this->_fileColumnsIndexes['ServiceID']], $rowNumber);
199
  return false;
200
  } else {
201
+ $ServiceID = (int)$row[$this->_fileColumnsIndexes['ServiceID']];
202
  }
203
 
204
+ $TakeFromOffice = (int)$row[$this->_fileColumnsIndexes['TakeFromOffice']];
205
 
206
  // validate weight
207
+ $Weight = $this->_parseDecimalValue($row[$this->_fileColumnsIndexes['Weight']]);
208
  if ($Weight === false) {
209
+ $this->_importErrors[] = Mage::helper('shipping')->__('Invalid Weight "%s" in the Row #%s.', $row[$this->_fileColumnsIndexes['Weight']], $rowNumber);
210
  return false;
211
  }
212
 
213
  // validate ordertotal
214
+ $OrderTotal = $this->_parseDecimalValue($row[$this->_fileColumnsIndexes['OrderTotal']]);
215
  if ($OrderTotal === false) {
216
+ $this->_importErrors[] = Mage::helper('shipping')->__('Invalid OrderTotal "%s" in the Row #%s.', $row[$this->_fileColumnsIndexes['OrderTotal']], $rowNumber);
217
  return false;
218
  }
219
 
220
  // validate price without vat
221
+ $PriceWithoutVAT = $this->_parseDecimalValue($row[$this->_fileColumnsIndexes['PriceWithoutVAT']]);
222
  if ($PriceWithoutVAT === false) {
223
+ $this->_importErrors[] = Mage::helper('shipping')->__('Invalid PriceWithoutVAT "%s" in the Row #%s.', $row[$this->_fileColumnsIndexes['PriceWithoutVAT']], $rowNumber);
224
  return false;
225
  }
226
 
227
+ $FixedTimeDelivery = (int)$row[$this->_fileColumnsIndexes['FixedTimeDelivery']];
228
+
229
  // protect from duplicate
230
+ $hash = sprintf("%d-%d-%F-%F-%F-%d", $ServiceID, $TakeFromOffice, $Weight, $OrderTotal, $PriceWithoutVAT, $FixedTimeDelivery);
231
  if (isset($this->_importUniqueHash[$hash])) {
232
+ $this->_importErrors[] = Mage::helper('shipping')->__('Duplicate Row #%s (ServiceID "%d", TakeFromOffice "%s", Weight "%F", OrderTotal "%F", PriceWithoutVAT "%F" and FixedTimeDelivery "%d").', $rowNumber, $ServiceID, $TakeFromOffice, $Weight, $OrderTotal, $PriceWithoutVAT, $FixedTimeDelivery);
233
  return false;
234
  }
235
  $this->_importUniqueHash[$hash] = true;
240
  $Weight, // Weight
241
  $OrderTotal, // Order Total
242
  $PriceWithoutVAT, // Price Without VAT
243
+ $FixedTimeDelivery, // Fixed Time Delivery
244
  $this->_importWebsiteId // Website Id
245
  );
246
  }
254
  protected function _saveImportData(array $data)
255
  {
256
  if (!empty($data)) {
257
+ $columns = array('service_id', 'take_from_office', 'weight', 'order_total', 'price_without_vat', 'fixed_time_delivery', 'website_id',);
258
  $this->_getWriteAdapter()->insertArray($this->getMainTable(), $columns, $data);
259
  $this->_importedRows += count($data);
260
  }
app/code/community/Speedy/Speedyshipping/Model/Resource/Carrier/Tablerate/Collection.php CHANGED
@@ -95,9 +95,7 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate_Collection extends
95
  */
96
  public function setWeightFilter($weight)
97
  {
98
- $this->getSelect()->where("weight >= ?", (float)$weight);
99
-
100
- return $this;
101
  }
102
 
103
  /**
@@ -108,8 +106,17 @@ class Speedy_Speedyshipping_Model_Resource_Carrier_Tablerate_Collection extends
108
  */
109
  public function setTotalFilter($total)
110
  {
111
- $this->getSelect()->where("order_total >= ?", (float)$total);
 
112
 
113
- return $this;
 
 
 
 
 
 
 
 
114
  }
115
  }
95
  */
96
  public function setWeightFilter($weight)
97
  {
98
+ return $this->addFieldToFilter('weight', array('gteq' => (float)$weight));
 
 
99
  }
100
 
101
  /**
106
  */
107
  public function setTotalFilter($total)
108
  {
109
+ return $this->addFieldToFilter('order_total', array('gteq' => (float)$total));
110
+ }
111
 
112
+ /**
113
+ * Add fixed time delivery filter to collection
114
+ *
115
+ * @param string $fixedTimeDelivery
116
+ * @return Mage_Shipping_Model_Resource_Carrier_Tablerate_Collection
117
+ */
118
+ public function setFixedTimeDeliveryFilter($fixedTimeDelivery)
119
+ {
120
+ return $this->addFieldToFilter('fixed_time_delivery', $fixedTimeDelivery);
121
  }
122
  }
app/code/community/Speedy/Speedyshipping/controllers/Adminhtml/PrintController.php CHANGED
@@ -182,6 +182,7 @@ class Speedy_Speedyshipping_Adminhtml_PrintController extends Mage_Adminhtml_Con
182
  case 'index':
183
  case 'massRequest':
184
  case 'printLabel':
 
185
  case 'requestCourier':
186
 
187
 
@@ -936,6 +937,60 @@ class Speedy_Speedyshipping_Adminhtml_PrintController extends Mage_Adminhtml_Con
936
  }
937
  }
938
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
939
  /**
940
  * This method is used to cancel bill of lading if that is possible. For
941
  * example if a courier has been request that would not be possible.
@@ -1160,7 +1215,7 @@ class Speedy_Speedyshipping_Adminhtml_PrintController extends Mage_Adminhtml_Con
1160
  $picking = new ParamPicking();
1161
 
1162
  //DO NOT CHANGE THIS LINE
1163
- $picking->setClientSystemId(1307306202);
1164
  $picking->setRef1($this->_orderID);
1165
 
1166
  $size = $this->getParcelSizes();
@@ -1280,7 +1335,7 @@ class Speedy_Speedyshipping_Adminhtml_PrintController extends Mage_Adminhtml_Con
1280
  if ($this->_isFreeShipping) {
1281
  $totalAmount = $this->_codAmount;
1282
  } else {
1283
- $tablerates = Mage::getModel('speedyshippingmodule/carrier_tablerate')->getCollection()->setServiceIdFilter($this->_orderData->getServiceTypeId())->setTakeFromOfficeFilter($this->_orderData->getPickFromOffice())->setWeightFilter($totalWeight)->setTotalFilter($this->_codAmount)->setOrderField('weight')->setOrderField('order_total')->getData();
1284
  if ($tablerates && isset($tablerates[0])) {
1285
  $taxCalculator = Mage::helper('tax');
1286
  $shippingPrice = $taxCalculator->getShippingPrice((float)$tablerates[0]['price_without_vat'], true);
@@ -1317,6 +1372,14 @@ class Speedy_Speedyshipping_Adminhtml_PrintController extends Mage_Adminhtml_Con
1317
  $picking->setIncludeShippingPriceInCod(true);
1318
  }
1319
 
 
 
 
 
 
 
 
 
1320
  $resultBOL = null;
1321
  try {
1322
  $resultBOL = $this->_speedyEPS->createBillOfLading($picking);
@@ -1607,6 +1670,67 @@ class Speedy_Speedyshipping_Adminhtml_PrintController extends Mage_Adminhtml_Con
1607
  }
1608
  }
1609
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1610
  }
1611
 
1612
  ?>
182
  case 'index':
183
  case 'massRequest':
184
  case 'printLabel':
185
+ case 'printReturnVoucher':
186
  case 'requestCourier':
187
 
188
 
937
  }
938
  }
939
 
940
+ public function printReturnVoucherAction() {
941
+ require_once Mage::getBaseDir('lib') . DS . 'SpeedyEPS' . DS . 'ver01' . DS . 'ParamPDF.class.php';
942
+
943
+ $orderId = $this->getRequest()->getParam('order_id');
944
+
945
+ $this->_hasPrinter = $this->getRequest()->getParam('has_printer');
946
+ $speedyData = Mage::getModel('speedyshippingmodule/saveorder')
947
+ ->getCollection()
948
+ ->addFilter('order_id', $orderId, 'eq')
949
+ ->load()
950
+ ->getFirstItem();
951
+ if (!$speedyData->getBolId()) {
952
+ return;
953
+ }
954
+
955
+ $paramPDF = new ParamPDF();
956
+
957
+ //If customer has configured that she has a printer, print a label
958
+ if ($this->_hasPrinter) {
959
+ $pickingParcels = $this->_speedyEPS->getPickingParcels((float)$speedyData->getBolId());
960
+
961
+ $ids = array();
962
+
963
+ foreach ($pickingParcels as $parcel) {
964
+ $ids[] = $parcel->getParcelId();
965
+ }
966
+
967
+ $paramPDF->setIds($ids);
968
+ $paramPDF->setType(ParamPDF::PARAM_PDF_TYPE_LBL);
969
+ }
970
+ //Otherwise print a regular bill of lading
971
+ else {
972
+ $paramPDF->setIds((float)$speedyData->getBolId());
973
+ $paramPDF->setType(30); // ParamPDF::PARAM_PDF_TYPE_VOUCHER
974
+ }
975
+ $paramPDF->setIncludeAutoPrintJS(TRUE);
976
+
977
+ $resultPDF = null;
978
+ try {
979
+ $resultPDF = $this->_speedyEPS->createPDF($paramPDF);
980
+
981
+ if (is_null($resultPDF)) {
982
+ throw new Exception($this->__("An error occured, while trying to create PDF"));
983
+ }
984
+
985
+ //Send output to browser
986
+
987
+ $this->getResponse()->setHeader("Content-type", "application/pdf");
988
+ $this->getResponse()->setBody($resultPDF);
989
+ } catch (Exception $e) {
990
+ $this->getResponse()->setBody($e->getMessage());
991
+ }
992
+ }
993
+
994
  /**
995
  * This method is used to cancel bill of lading if that is possible. For
996
  * example if a courier has been request that would not be possible.
1215
  $picking = new ParamPicking();
1216
 
1217
  //DO NOT CHANGE THIS LINE
1218
+ $picking->setClientSystemId(1307306211);
1219
  $picking->setRef1($this->_orderID);
1220
 
1221
  $size = $this->getParcelSizes();
1335
  if ($this->_isFreeShipping) {
1336
  $totalAmount = $this->_codAmount;
1337
  } else {
1338
+ $tablerates = Mage::getModel('speedyshippingmodule/carrier_tablerate')->getCollection()->setServiceIdFilter($this->_orderData->getServiceTypeId())->setTakeFromOfficeFilter($this->_orderData->getPickFromOffice())->setWeightFilter($totalWeight)->setTotalFilter($this->_codAmount)->setFixedTimeDeliveryFilter($this->_orderData->getFixedTime() ? 1 : 0)->setOrderField('weight')->setOrderField('order_total')->getData();
1339
  if ($tablerates && isset($tablerates[0])) {
1340
  $taxCalculator = Mage::helper('tax');
1341
  $shippingPrice = $taxCalculator->getShippingPrice((float)$tablerates[0]['price_without_vat'], true);
1372
  $picking->setIncludeShippingPriceInCod(true);
1373
  }
1374
 
1375
+ if (Mage::getStoreConfig('carriers/speedyshippingmodule/return_voucher')) {
1376
+ $returnVoucher = new ParamReturnVoucher();
1377
+ $returnVoucher->setServiceTypeId($this->_getReturnVoucherServiceTypeId($picking));
1378
+ $returnVoucher->setPayerType(Mage::getStoreConfig('carriers/speedyshippingmodule/return_voucher_payer_type'));
1379
+
1380
+ $picking->setReturnVoucher($returnVoucher);
1381
+ }
1382
+
1383
  $resultBOL = null;
1384
  try {
1385
  $resultBOL = $this->_speedyEPS->createBillOfLading($picking);
1670
  }
1671
  }
1672
 
1673
+ public function checkReturnVoucherRequested($bol_id) {
1674
+ $voucherRequested = false;
1675
+
1676
+ try {
1677
+ $pickingExtendedInfo = $this->_speedyEPS->getPickingExtendedInfo($bol_id);
1678
+
1679
+ if (!is_null($pickingExtendedInfo->getReturnVoucher()) && ($pickingExtendedInfo->getReturnVoucher() instanceof ResultReturnVoucher)) {
1680
+ $voucherRequested = true;
1681
+ }
1682
+ } catch (Exception $e) {
1683
+ $this->getResponse()->setBody($e->getMessage());
1684
+ }
1685
+
1686
+ return $voucherRequested;
1687
+ }
1688
+
1689
+ protected function _getReturnVoucherServiceTypeId($picking) {
1690
+ $services = array();
1691
+ $returnVoucherServiceTypeId = null;
1692
+
1693
+ $sender = $picking->getSender();
1694
+ $receiver = $picking->getReceiver();
1695
+
1696
+ try {
1697
+ if (Mage::getStoreConfig('carriers/speedyshippingmodule/bring_to_office') && Mage::getStoreConfig('carriers/speedyshippingmodule/choose_office')) {
1698
+ $senderSiteId = null;
1699
+ $senderOfficeId = Mage::getStoreConfig('carriers/speedyshippingmodule/choose_office');
1700
+ } else {
1701
+ $senderData = $this->_speedyEPS->getClientById($sender->getClientId());
1702
+ $senderSiteId = $resultClientData->getAddress()->getSiteId();
1703
+ $senderOfficeId = null;
1704
+ }
1705
+
1706
+ if ($receiver->getAddress()) {
1707
+ $receiverSiteId = $receiver->getAddress()->getSiteId();
1708
+ $receiverOfficeId = null;
1709
+ } else {
1710
+ $receiverSiteId = null;
1711
+ $receiverOfficeId = $picking->getOfficeToBeCalledId();
1712
+ }
1713
+
1714
+ // Reverse sender and receiver data
1715
+ $listServices = $this->_speedyEPS->listServicesForSites(time(), $receiverSiteId, $senderSiteId, null, null, null, null, null, null, null, $receiverOfficeId, $senderOfficeId);
1716
+
1717
+ foreach($listServices as $listService) {
1718
+ $services[] = $listService->getTypeId();
1719
+ }
1720
+
1721
+ if (in_array(Mage::getStoreConfig('carriers/speedyshippingmodule/return_voucher_city_service_id'), $services)) {
1722
+ $returnVoucherServiceTypeId = Mage::getStoreConfig('carriers/speedyshippingmodule/return_voucher_city_service_id');
1723
+ } elseif (in_array(Mage::getStoreConfig('carriers/speedyshippingmodule/return_voucher_intercity_service_id'), $services)) {
1724
+ $returnVoucherServiceTypeId = Mage::getStoreConfig('carriers/speedyshippingmodule/return_voucher_intercity_service_id');
1725
+ }
1726
+
1727
+ } catch (Exception $e) {
1728
+ $this->getResponse()->setBody($e->getMessage());
1729
+ }
1730
+
1731
+ return $returnVoucherServiceTypeId;
1732
+ }
1733
+
1734
  }
1735
 
1736
  ?>
app/code/community/Speedy/Speedyshipping/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Speedy_Speedyshipping>
5
- <version>2.0.2</version>
6
  <depends>
7
  <Mage_Payment />
8
  <Mage_Shipping />
2
  <config>
3
  <modules>
4
  <Speedy_Speedyshipping>
5
+ <version>2.1.1</version>
6
  <depends>
7
  <Mage_Payment />
8
  <Mage_Shipping />
app/code/community/Speedy/Speedyshipping/etc/system.xml CHANGED
@@ -225,6 +225,45 @@
225
  <show_in_website>1</show_in_website>
226
  <show_in_store>0</show_in_store>
227
  </options_before_payment>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  <back_documents translate="label">
229
  <label>back_document_request</label>
230
  <frontend_type>select</frontend_type>
225
  <show_in_website>1</show_in_website>
226
  <show_in_store>0</show_in_store>
227
  </options_before_payment>
228
+ <return_voucher translate="label">
229
+ <label>return_voucher</label>
230
+ <frontend_type>select</frontend_type>
231
+ <source_model>adminhtml/system_config_source_yesno</source_model>
232
+ <sort_order>22</sort_order>
233
+ <show_in_default>1</show_in_default>
234
+ <show_in_website>1</show_in_website>
235
+ <show_in_store>0</show_in_store>
236
+ </return_voucher>
237
+ <return_voucher_city_service_id translate="label">
238
+ <label>return_voucher_city_service_id</label>
239
+ <frontend_type>select</frontend_type>
240
+ <source_model>speedyshippingmodule/carrier_source_method</source_model>
241
+ <sort_order>23</sort_order>
242
+ <show_in_default>1</show_in_default>
243
+ <show_in_website>1</show_in_website>
244
+ <show_in_store>0</show_in_store>
245
+ <depends><return_voucher>1</return_voucher></depends>
246
+ </return_voucher_city_service_id>
247
+ <return_voucher_intercity_service_id translate="label">
248
+ <label>return_voucher_intercity_service_id</label>
249
+ <frontend_type>select</frontend_type>
250
+ <source_model>speedyshippingmodule/carrier_source_method</source_model>
251
+ <sort_order>23</sort_order>
252
+ <show_in_default>1</show_in_default>
253
+ <show_in_website>1</show_in_website>
254
+ <show_in_store>0</show_in_store>
255
+ <depends><return_voucher>1</return_voucher></depends>
256
+ </return_voucher_intercity_service_id>
257
+ <return_voucher_payer_type translate="label">
258
+ <label>return_voucher_payer_type</label>
259
+ <frontend_type>select</frontend_type>
260
+ <source_model>speedyshippingmodule/carrier_source_payertype</source_model>
261
+ <sort_order>23</sort_order>
262
+ <show_in_default>1</show_in_default>
263
+ <show_in_website>1</show_in_website>
264
+ <show_in_store>0</show_in_store>
265
+ <depends><return_voucher>1</return_voucher></depends>
266
+ </return_voucher_payer_type>
267
  <back_documents translate="label">
268
  <label>back_document_request</label>
269
  <frontend_type>select</frontend_type>
app/code/community/Speedy/Speedyshipping/sql/speedyshippingmodule_setup/mysql4-upgrade-2.0.2-2.1.0.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+ $this->getConnection()->disallowDdlCache();
5
+ $this->getConnection()->resetDdlCache();
6
+ $installer->startSetup();
7
+
8
+ $installer->run("
9
+ ALTER TABLE `{$installer->getTable('speedyshippingmodule/tablerate')}` ADD `fixed_time_delivery` TINYINT(1) NOT NULL AFTER `price_without_vat`
10
+ ");
11
+
12
+ $installer->endSetup();
app/design/adminhtml/default/default/template/speedy_speedyshipping/billoflading.phtml CHANGED
@@ -86,6 +86,7 @@ document.getElementById('shipment_tracking_info').style.display = 'none';
86
 
87
  <?php echo $this->getPrintButton() ?>
88
  <?php echo $this->getCancelBolButton() ?>
 
89
  </div>
90
 
91
  </fieldset>
86
 
87
  <?php echo $this->getPrintButton() ?>
88
  <?php echo $this->getCancelBolButton() ?>
89
+ <?php echo $this->getPrintReturnVoucherButton() ?>
90
  </div>
91
 
92
  </fieldset>
app/design/adminhtml/default/default/template/speedy_speedyshipping/pickupform.phtml CHANGED
@@ -32,7 +32,7 @@ var fixedHourLabel = "<?php echo $this->__("extra charge").'\"'.$this->__("fixed
32
  <?php if($isFixedHourEnabled) : ?>
33
  <tr>
34
  <td><label for="speed_exact_hour_enable"><?php echo $this->__("choose fixed hour") ?></label><br />
35
- <?php if($isFixedPrice != 2): ?>
36
  <p id="fixed_price_view"><?php echo $this->__("extra charge").'"'.$this->__("fixed hour").'"'; ?></p>
37
  <?php endif; ?>
38
  </td>
32
  <?php if($isFixedHourEnabled) : ?>
33
  <tr>
34
  <td><label for="speed_exact_hour_enable"><?php echo $this->__("choose fixed hour") ?></label><br />
35
+ <?php if($isFixedPrice != 2 && $isFixedPrice != 4): ?>
36
  <p id="fixed_price_view"><?php echo $this->__("extra charge").'"'.$this->__("fixed hour").'"'; ?></p>
37
  <?php endif; ?>
38
  </td>
app/design/adminhtml/default/default/template/speedy_speedyshipping/sales/order/create/billing/method/paymentInfo.phtml CHANGED
@@ -1,7 +1,7 @@
1
 
2
 
3
  <?php $isFixed = Mage::getStoreConfig('carriers/speedyshippingmodule/fixed_pricing_enable'); ?>
4
- <?php if ($this->_codAmount && ($isFixed != 2) && !$this->_isFreeMethod){
5
  $output = '';
6
  $output = '<p>'.$this->__('Speedy Payment method tax');
7
  $_excl = $this->_codAmount;
1
 
2
 
3
  <?php $isFixed = Mage::getStoreConfig('carriers/speedyshippingmodule/fixed_pricing_enable'); ?>
4
+ <?php if ($this->_codAmount && ($isFixed != 2 && $isFixed != 4) && !$this->_isFreeMethod){
5
  $output = '';
6
  $output = '<p>'.$this->__('Speedy Payment method tax');
7
  $_excl = $this->_codAmount;
app/design/frontend/base/default/template/speedy_speedyshipping/checkout/onepage/payment_method/paymentInfo.phtml CHANGED
@@ -2,7 +2,7 @@
2
 
3
  <?php $isFixed = Mage::getStoreConfig('carriers/speedyshippingmodule/fixed_pricing_enable'); ?>
4
  <?php $output = null; ?>
5
- <?php if ($this->_codAmount && ($isFixed != 2) && !$this->_isFreeMethod){
6
 
7
 
8
  $output .='<p>'.$this->__('Speedy Payment method tax');
2
 
3
  <?php $isFixed = Mage::getStoreConfig('carriers/speedyshippingmodule/fixed_pricing_enable'); ?>
4
  <?php $output = null; ?>
5
+ <?php if ($this->_codAmount && ($isFixed != 2 && $isFixed != 4) && !$this->_isFreeMethod){
6
 
7
 
8
  $output .='<p>'.$this->__('Speedy Payment method tax');
app/design/frontend/base/default/template/speedy_speedyshipping/checkout/onepage/shipping_method/available.phtml CHANGED
@@ -46,7 +46,7 @@
46
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->escapeHtml($_rate->getErrorMessage()) ?></li></ul></li></ul>
47
  <?php else: ?>
48
  <?php if ($_sole) : ?>
49
- <span class="no-display"><input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>" checked="checked" /></span>
50
  <?php else: ?>
51
 
52
  <input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if ($_rate->getCode() === $this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio"/>
46
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->escapeHtml($_rate->getErrorMessage()) ?></li></ul></li></ul>
47
  <?php else: ?>
48
  <?php if ($_sole) : ?>
49
+ <input class="no-display" name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>" checked="checked" />
50
  <?php else: ?>
51
 
52
  <input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if ($_rate->getCode() === $this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio"/>
app/design/frontend/base/default/template/speedy_speedyshipping/checkout/onepage/shipping_method/pickupform.phtml CHANGED
@@ -28,7 +28,7 @@
28
 
29
  <div style="width: 90%;position: relative">
30
  <label for="speed_exact_hour_enable" style=""><?php echo $this->__("choose fixed hour") ?></label><br />
31
- <?php if ($isFixedPrice != 2): ?>
32
  <p id="fixed_price_view"><?php echo $this->__("extra charge") . '"' . $this->__("fixed hour") . '"' ?></p>
33
  <?php endif; ?>
34
  <input type="checkbox" disabled="disabled" name="speed_exact_hour_enable" class="input-box" id="speedy_exact_hour_enable" />
28
 
29
  <div style="width: 90%;position: relative">
30
  <label for="speed_exact_hour_enable" style=""><?php echo $this->__("choose fixed hour") ?></label><br />
31
+ <?php if ($isFixedPrice != 2 && $isFixedPrice != 4): ?>
32
  <p id="fixed_price_view"><?php echo $this->__("extra charge") . '"' . $this->__("fixed hour") . '"' ?></p>
33
  <?php endif; ?>
34
  <input type="checkbox" disabled="disabled" name="speed_exact_hour_enable" class="input-box" id="speedy_exact_hour_enable" />
app/locale/bg_BG/speedyTranslate.csv CHANGED
@@ -26,6 +26,7 @@
26
  "Add bill of lading","Добави товарителница"
27
  "Create Bill of lading","Създай товарителница"
28
  "Print shipping labels","Разпечатай етикети"
 
29
  "Print Bill of lading","Разпечатай товарителницата"
30
  "Valid Speedy Address","Валиден Спиди адрес"
31
  "Invalid Speedy Address","Невалиден Спиди адрес"
@@ -131,6 +132,12 @@
131
  "enter_username_reminder","Моля, въведете потребителско име"
132
  "options_before_payment","Опции преди плащане:"
133
  "parcels_count","Брой пакети:"
 
 
 
 
 
 
134
  "No option","Без опция"
135
  "Test before payment","Теставай преди да платиш (ТПП)"
136
  "Open before payment","Отвори преди да платиш (ОПП)"
26
  "Add bill of lading","Добави товарителница"
27
  "Create Bill of lading","Създай товарителница"
28
  "Print shipping labels","Разпечатай етикети"
29
+ "Print return voucher","Разпечатай ваучер за връщане"
30
  "Print Bill of lading","Разпечатай товарителницата"
31
  "Valid Speedy Address","Валиден Спиди адрес"
32
  "Invalid Speedy Address","Невалиден Спиди адрес"
132
  "enter_username_reminder","Моля, въведете потребителско име"
133
  "options_before_payment","Опции преди плащане:"
134
  "parcels_count","Брой пакети:"
135
+ "return_voucher","Ваучер за връщане"
136
+ "return_voucher_city_service_id","Ваучер за връщане - градска услуга"
137
+ "return_voucher_intercity_service_id","Ваучер за връщане - междуградска услуга"
138
+ "return_voucher_payer_type","Ваучер за връщане - страна платец"
139
+ "sender","Подател"
140
+ "receiver","Получател"
141
  "No option","Без опция"
142
  "Test before payment","Теставай преди да платиш (ТПП)"
143
  "Open before payment","Отвори преди да платиш (ОПП)"
app/locale/en_US/speedyTranslate.csv CHANGED
@@ -25,6 +25,7 @@
25
  "Add bill of lading","Add bill of lading"
26
  "Create Bill of lading","Create bill of lading"
27
  "Print shipping labels","Print shipping labels"
 
28
  "Print Bill of lading","Print bill of lading"
29
  "Valid Speedy Address","Valid Speedy Address"
30
  "Invalid Speedy Address","Invalid Speedy Address"
@@ -130,6 +131,12 @@
130
  "enter_username_reminder","Please, enter your username"
131
  "options_before_payment","Options before payment"
132
  "parcels_count","Parcels count:"
 
 
 
 
 
 
133
  "No option","No option"
134
  "Test before payment","Test before payment"
135
  "Open before payment","Open before payment"
25
  "Add bill of lading","Add bill of lading"
26
  "Create Bill of lading","Create bill of lading"
27
  "Print shipping labels","Print shipping labels"
28
+ "Print return voucher","Print return voucher"
29
  "Print Bill of lading","Print bill of lading"
30
  "Valid Speedy Address","Valid Speedy Address"
31
  "Invalid Speedy Address","Invalid Speedy Address"
131
  "enter_username_reminder","Please, enter your username"
132
  "options_before_payment","Options before payment"
133
  "parcels_count","Parcels count:"
134
+ "return_voucher","Return voucher"
135
+ "return_voucher_city_service_id","Return voucher - city service"
136
+ "return_voucher_intercity_service_id","Return voucher - intercity service"
137
+ "return_voucher_payer_type","Return voucher payer type"
138
+ "sender","Sender"
139
+ "receiver","Receiver"
140
  "No option","No option"
141
  "Test before payment","Test before payment"
142
  "Open before payment","Open before payment"
lib/SpeedyEPS/ver01/CODPayment.class.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * @since 3.1.0
5
+ */
6
+ class CODPayment {
7
+
8
+ /**
9
+ * date.
10
+ * @var signed Date
11
+ */
12
+ protected $_date;
13
+
14
+ /**
15
+ * Total payed out amount
16
+ * @var signed 32-bit real
17
+ */
18
+ protected $_totalPayedOutAmount;
19
+
20
+
21
+ /**
22
+ * Constructs new instance of this class
23
+ * @param $stdClassCODPayment
24
+ */
25
+ function __construct($stdClassCODPayment) {
26
+ $this->_date = isset($stdClassCODPayment->date) ? $stdClassCODPayment->date : null;
27
+ $this->_totalPayedOutAmount = isset($stdClassCODPayment->totalPayedOutAmount) ? $stdClassCODPayment->totalPayedOutAmount : null;
28
+ }
29
+
30
+ /**
31
+ * Get Date of payment.
32
+ * @return Date
33
+ */
34
+ public function getDate() {
35
+ return $this->_date;
36
+ }
37
+
38
+
39
+ /**
40
+ * Get Total payed out amount
41
+ * @return signed 32-bit real
42
+ */
43
+ public function getTotalPayedOutAmount() {
44
+ return $this->_totalPayedOutAmount;
45
+ }
46
+
47
+
48
+ }
49
+ ?>
lib/SpeedyEPS/ver01/EPSFacade.class.php CHANGED
@@ -848,10 +848,12 @@ class EPSFacade {
848
  * @throws ServerException Thrown in case communication with server has failed
849
  * @throws ClientException Thrown in case EPS interface implementation is not set
850
  * @return array ResultOfficeEx List of offices
 
 
851
  */
852
- public function listOfficesEx($name, $siteId, $language = null) {
853
  $this->checkStateBeforeCall();
854
- return $this->_epsInterfaceImpl->listOfficesEx($this->getResultLogin(true)->getSessionId(), $name, $siteId, $language);
855
  }
856
 
857
  /**
@@ -1011,5 +1013,16 @@ class EPSFacade {
1011
  $this->checkStateBeforeCall();
1012
  return $this->_epsInterfaceImpl->getPickingExtendedInfo($this->getResultLogin(true)->getSessionId(), $billOfLading);
1013
  }
 
 
 
 
 
 
 
 
 
 
 
1014
  }
1015
  ?>
848
  * @throws ServerException Thrown in case communication with server has failed
849
  * @throws ClientException Thrown in case EPS interface implementation is not set
850
  * @return array ResultOfficeEx List of offices
851
+ * @since 2.9.1
852
+ * @param integer $countryId signed 64-bit integer nullable Country ID
853
  */
854
+ public function listOfficesEx($name, $siteId = null, $language = null, $countryId = null) {
855
  $this->checkStateBeforeCall();
856
+ return $this->_epsInterfaceImpl->listOfficesEx($this->getResultLogin(true)->getSessionId(), $name, $siteId, $language, $countryId);
857
  }
858
 
859
  /**
1013
  $this->checkStateBeforeCall();
1014
  return $this->_epsInterfaceImpl->getPickingExtendedInfo($this->getResultLogin(true)->getSessionId(), $billOfLading);
1015
  }
1016
+
1017
+ /**
1018
+ * Returns routing information for specified parcel number.
1019
+ * @param integer $parcelId signed 64-bit
1020
+ * @return resultRoutingLabelInfo routing information for specified parcel number.
1021
+ * @since 3.0.0
1022
+ */
1023
+ public function getRoutingLabelInfo($parcelId) {
1024
+ $this->checkStateBeforeCall();
1025
+ return $this->_epsInterfaceImpl->getRoutingLabelInfo($this->getResultLogin(true)->getSessionId(), $parcelId);
1026
+ }
1027
  }
1028
  ?>
lib/SpeedyEPS/ver01/EPSInterface.class.php CHANGED
@@ -27,6 +27,7 @@ require_once 'ResultState.class.php';
27
  require_once 'ResultPickingInfo.class.php';
28
  require_once 'ResultClientInfo.class.php';
29
  require_once 'ResultAddressInfo.class.php';
 
30
 
31
  require_once 'ResultPickingExtendedInfo.class.php';
32
  require_once 'ParamCalculation.class.php';
@@ -615,8 +616,10 @@ interface EPSInterface {
615
  * @param ParamLanguage $language Language
616
  * @throws ServerException Thrown in case communication with server has failed
617
  * @return array ResultOfficeEx List of offices
 
 
618
  */
619
- public function listOfficesEx($sessionId, $name, $siteId, $language);
620
 
621
  /**
622
  * Returns deserialized address from serialized string address
@@ -731,5 +734,14 @@ interface EPSInterface {
731
  */
732
  public function getPickingExtendedInfo($sessionId, $billOfLading);
733
 
 
 
 
 
 
 
 
 
 
734
  }
735
  ?>
27
  require_once 'ResultPickingInfo.class.php';
28
  require_once 'ResultClientInfo.class.php';
29
  require_once 'ResultAddressInfo.class.php';
30
+ require_once 'ResultRoutingLabelInfo.class.php';
31
 
32
  require_once 'ResultPickingExtendedInfo.class.php';
33
  require_once 'ParamCalculation.class.php';
616
  * @param ParamLanguage $language Language
617
  * @throws ServerException Thrown in case communication with server has failed
618
  * @return array ResultOfficeEx List of offices
619
+ * @since 2.9.1
620
+ * @param integer $countryId signed 64-bit integer nullable Country ID
621
  */
622
+ public function listOfficesEx($sessionId, $name, $siteId, $language, $countryId);
623
 
624
  /**
625
  * Returns deserialized address from serialized string address
734
  */
735
  public function getPickingExtendedInfo($sessionId, $billOfLading);
736
 
737
+ /**
738
+ * Returns routing information for specified parcel number.
739
+ * @param string $sessionId
740
+ * @param integer $parcelId signed 64-bit
741
+ * @return List of ResultRoutingLabelInfo routing information for specified parcel number
742
+ * @since 3.0.0
743
+ */
744
+ public function getRoutingLabelInfo($sessionId, $parcelId);
745
+
746
  }
747
  ?>
lib/SpeedyEPS/ver01/ParamCalculation.class.php CHANGED
@@ -323,6 +323,14 @@ class ParamCalculation {
323
  */
324
  private $_includeShippingPriceInCod;
325
 
 
 
 
 
 
 
 
 
326
  /**
327
  * Set the date for shipment pick-up (the "time" component is ignored).
328
  * Server defaults this value to "today" if it is not set
@@ -905,6 +913,22 @@ class ParamCalculation {
905
  return $this->_includeShippingPriceInCod;
906
  }
907
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
908
  /**
909
  * Return standard class from this class
910
  * @return stdClass
@@ -956,6 +980,7 @@ class ParamCalculation {
956
  }
957
  $stdClass->parcels = $arrStdClassParamParcelInfo;
958
  $stdClass->includeShippingPriceInCod= $this->_includeShippingPriceInCod;
 
959
 
960
  return $stdClass;
961
  }
323
  */
324
  private $_includeShippingPriceInCod;
325
 
326
+ /**
327
+ * Check if specified office to be called is working. Default value - true.
328
+ * MANDATORY: NO
329
+ * @var boolean
330
+ * @since 2.9.4
331
+ */
332
+ private $_checkTBCOfficeWorkDay;
333
+
334
  /**
335
  * Set the date for shipment pick-up (the "time" component is ignored).
336
  * Server defaults this value to "today" if it is not set
913
  return $this->_includeShippingPriceInCod;
914
  }
915
 
916
+ /**
917
+ * Set Flag indicating if specified office to be called is working. Default value - true.
918
+ * @param boolean
919
+ */
920
+ public function setCheckTBCOfficeWorkDay($checkTBCOfficeWorkDay) {
921
+ $this->_checkTBCOfficeWorkDay = $checkTBCOfficeWorkDay;
922
+ }
923
+
924
+ /**
925
+ * Get Flag indicating if specified office to be called is working. Default value - true.
926
+ * @return boolean
927
+ */
928
+ public function getCheckTBCOfficeWorkDay() {
929
+ return $this->_checkTBCOfficeWorkDay;
930
+ }
931
+
932
  /**
933
  * Return standard class from this class
934
  * @return stdClass
980
  }
981
  $stdClass->parcels = $arrStdClassParamParcelInfo;
982
  $stdClass->includeShippingPriceInCod= $this->_includeShippingPriceInCod;
983
+ $stdClass->checkTBCOfficeWorkDay = $this->_checkTBCOfficeWorkDay;
984
 
985
  return $stdClass;
986
  }
lib/SpeedyEPS/ver01/ResultCourierServiceExt.class.php CHANGED
@@ -13,6 +13,12 @@ class ResultCourierServiceExt extends ResultCourierService {
13
  */
14
  private $_deliveryDeadline;
15
 
 
 
 
 
 
 
16
  /**
17
  * Constructs new instance of ResultCourierServiceExt
18
  * @param stdClass $stdClassResultCourierServiceExt
@@ -20,6 +26,7 @@ class ResultCourierServiceExt extends ResultCourierService {
20
  function __construct($stdClassResultCourierServiceExt) {
21
  parent::__construct($stdClassResultCourierServiceExt);
22
  $this->_deliveryDeadline = isset($stdClassResultCourierServiceExt->deliveryDeadline) ? $stdClassResultCourierServiceExt->deliveryDeadline : null;
 
23
  }
24
 
25
  /**
@@ -30,5 +37,13 @@ class ResultCourierServiceExt extends ResultCourierService {
30
  return $this->_deliveryDeadline;
31
  }
32
 
 
 
 
 
 
 
 
 
33
  }
34
  ?>
13
  */
14
  private $_deliveryDeadline;
15
 
16
+ /**
17
+ * Specifies if the complementary service "Delivery to floor" is banned, allowed or required
18
+ * @var ComplementaryServiceAllowance
19
+ */
20
+ private $_allowanceDeliveryToFloor;
21
+
22
  /**
23
  * Constructs new instance of ResultCourierServiceExt
24
  * @param stdClass $stdClassResultCourierServiceExt
26
  function __construct($stdClassResultCourierServiceExt) {
27
  parent::__construct($stdClassResultCourierServiceExt);
28
  $this->_deliveryDeadline = isset($stdClassResultCourierServiceExt->deliveryDeadline) ? $stdClassResultCourierServiceExt->deliveryDeadline : null;
29
+ $this->_allowanceDeliveryToFloor = isset($stdClassResultCourierServiceExt->allowanceDeliveryToFloor) ? $stdClassResultCourierServiceExt->allowanceDeliveryToFloor : null;
30
  }
31
 
32
  /**
37
  return $this->_deliveryDeadline;
38
  }
39
 
40
+ /**
41
+ * Get specifies if the complementary service "Delivery to floor" is banned, allowed or required
42
+ * @return ComplementaryServiceAllowance
43
+ */
44
+ public function getAllowanceDeliveryToFloor() {
45
+ return $this->_allowanceDeliveryToFloor;
46
+ }
47
+
48
  }
49
  ?>
lib/SpeedyEPS/ver01/ResultDeliveryInfo.class.php CHANGED
@@ -26,7 +26,7 @@ class ResultDeliveryInfo {
26
 
27
  /**
28
  * Constructs new instance of this class
29
- * @param $stdClassResultAddressString
30
  */
31
  function __construct($stdClassResultDeliveryInfo) {
32
  $this->_deliveryDate = isset($stdClassResultDeliveryInfo->deliveryDate) ? $stdClassResultDeliveryInfo->deliveryDate : null;
26
 
27
  /**
28
  * Constructs new instance of this class
29
+ * @param $stdClassResultDeliveryInfo
30
  */
31
  function __construct($stdClassResultDeliveryInfo) {
32
  $this->_deliveryDate = isset($stdClassResultDeliveryInfo->deliveryDate) ? $stdClassResultDeliveryInfo->deliveryDate : null;
lib/SpeedyEPS/ver01/ResultOfficeEx.class.php CHANGED
@@ -1,202 +1,219 @@
1
- <?php
2
-
3
- require_once 'ResultAddressEx.class.php';
4
- require_once 'ResultWorkingTime.class.php';
5
- require_once 'Size.class.php';
6
-
7
-
8
- /**
9
- * Instances of this class are returned as a result of Speedy web service queries for offices
10
- */
11
- class ResultOfficeEx {
12
-
13
- /**
14
- * Office ID
15
- * @var integer Signed 64-bit
16
- */
17
- private $_id;
18
-
19
- /**
20
- * Office name
21
- * @var string
22
- */
23
- private $_name;
24
-
25
- /**
26
- * Serving site ID
27
- * @var string
28
- */
29
- private $_siteId;
30
-
31
- /**
32
- * Office address
33
- * @var ResultAddressEx
34
- */
35
- private $_address;
36
-
37
- /**
38
- * Working time for FULL working days - FROM
39
- * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
40
- */
41
- private $_workingTimeFrom;
42
-
43
- /**
44
- * Working time for FULL working days - TO
45
- * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
46
- */
47
- private $_workingTimeTo;
48
-
49
- /**
50
- * Working time for HALF working days - FROM
51
- * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
52
- */
53
- private $_workingTimeHalfFrom;
54
-
55
- /**
56
- *Working time for HALF working days - TO
57
- * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
58
- */
59
- private $_workingTimeHalfTo;
60
-
61
- /**
62
- * Max parcel dimensions (size)
63
- * @var Size
64
- * @since 2.6.0
65
- */
66
- protected $_maxParcelDimensions;
67
-
68
- /**
69
- * Max parcel weight
70
- * @var double signed 64-bit
71
- * @since 2.6.0
72
- */
73
- protected $_maxParcelWeight;
74
-
75
- /**
76
- * Working time schedule
77
- * @var array of ResultWorkingTime
78
- * @since 2.6.0
79
- */
80
- protected $_workingTimeSchedule;
81
-
82
- /**
83
- * Constructs new instance of ResultStreet
84
- * @param stdClass $stdClassResultStreet
85
- */
86
- function __construct($stdClassResultOffice) {
87
- $this->_id = isset($stdClassResultOffice->id) ? $stdClassResultOffice->id : null;
88
- $this->_name = isset($stdClassResultOffice->name) ? $stdClassResultOffice->name : null;
89
- $this->_siteId = isset($stdClassResultOffice->siteId) ? $stdClassResultOffice->siteId : null;
90
- $this->_address = isset($stdClassResultOffice->address) ? new ResultAddressEx($stdClassResultOffice->address) : null;
91
- $this->_workingTimeFrom = isset($stdClassResultOffice->workingTimeFrom) ? $stdClassResultOffice->workingTimeFrom : null;
92
- $this->_workingTimeTo = isset($stdClassResultOffice->workingTimeTo) ? $stdClassResultOffice->workingTimeTo : null;
93
- $this->_workingTimeHalfFrom = isset($stdClassResultOffice->workingTimeHalfFrom) ? $stdClassResultOffice->workingTimeHalfFrom : null;
94
- $this->_workingTimeHalfTo = isset($stdClassResultOffice->workingTimeHalfTo) ? $stdClassResultOffice->workingTimeHalfTo : null;
95
- $this->_maxParcelDimensions = isset($stdClassResultOffice->maxParcelDimensions) ? new Size($stdClassResultOffice->maxParcelDimensions) : null;
96
- $this->_maxParcelWeight = isset($stdClassResultOffice->maxParcelWeight) ? $stdClassResultOffice->maxParcelWeight : null;
97
-
98
- $arrWorkingTimeSchedule = array();
99
- if (isset($stdClassResultOffice->workingTimeSchedule)) {
100
- if (is_array($stdClassResultOffice->workingTimeSchedule)) {
101
- for($i = 0; $i < count($stdClassResultOffice->workingTimeSchedule); $i++) {
102
- $arrWorkingTimeSchedule[$i] = new ResultWorkingTime($stdClassResultOffice->workingTimeSchedule[$i]);
103
- }
104
- } else {
105
- $arrWorkingTimeSchedule[0] = new ResultWorkingTime($stdClassResultOffice->workingTimeSchedule);
106
- }
107
- }
108
- $this->_workingTimeSchedule = $arrWorkingTimeSchedule;
109
- }
110
-
111
- /**
112
- * Get quarter ID
113
- * @return integer Signed 64-bit quarter ID
114
- */
115
- public function getId() {
116
- return $this->_id;
117
- }
118
-
119
- /**
120
- * Get quarter name
121
- * @return string Quarter name
122
- */
123
- public function getName() {
124
- return $this->_name;
125
- }
126
-
127
- /**
128
- * Get serving site ID
129
- * @return string Serving site ID
130
- */
131
- public function getSiteId() {
132
- return $this->_siteId;
133
- }
134
-
135
- /**
136
- * Get office address
137
- * @return ResultAddressEx Office address
138
- */
139
- public function getAddress() {
140
- return $this->_address;
141
- }
142
-
143
- /**
144
- * Get working time for FULL working days - FROM
145
- * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
146
- */
147
- public function getWorkingTimeFrom() {
148
- return $this->_workingTimeFrom;
149
- }
150
-
151
- /**
152
- * Get working time for FULL working days - TO
153
- * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
154
- */
155
- public function getWorkingTimeTo() {
156
- return $this->_workingTimeTo;
157
- }
158
-
159
- /**
160
- * Get working time for HALF working days - FROM
161
- * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
162
- */
163
- public function getWorkingTimeHalfFrom() {
164
- return $this->_workingTimeHalfFrom;
165
- }
166
-
167
- /**
168
- * Get working time for HALF working days - TO
169
- * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
170
- */
171
- public function getWorkingTimeHalfTo() {
172
- return $this->_workingTimeHalfTo;
173
- }
174
-
175
- /**
176
- * Get MAX parcel dimensions
177
- * @return Size Maximum parcel dimensions
178
- * @since 2.6.0
179
- */
180
- public function getMaxParcelDimensions() {
181
- return $this->_maxParcelDimensions;
182
- }
183
-
184
- /**
185
- * Get MAX parcel weight
186
- * @return Size Maximum parcel weight
187
- * @since 2.6.0
188
- */
189
- public function getMaxParcelWeight() {
190
- return $this->_maxParcelWeight;
191
- }
192
-
193
- /**
194
- * Get working time schedule
195
- * @return array list of ResultWorkingTime
196
- * @since 2.6.0
197
- */
198
- public function getWorkingTimeSchedule() {
199
- return $this->_workingTimeSchedule;
200
- }
201
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  ?>
1
+ <?php
2
+
3
+ require_once 'ResultAddressEx.class.php';
4
+ require_once 'ResultWorkingTime.class.php';
5
+ require_once 'Size.class.php';
6
+
7
+
8
+ /**
9
+ * Instances of this class are returned as a result of Speedy web service queries for offices
10
+ */
11
+ class ResultOfficeEx {
12
+
13
+ /**
14
+ * Office ID
15
+ * @var integer Signed 64-bit
16
+ */
17
+ private $_id;
18
+
19
+ /**
20
+ * Office name
21
+ * @var string
22
+ */
23
+ private $_name;
24
+
25
+ /**
26
+ * Serving site ID
27
+ * @var string
28
+ */
29
+ private $_siteId;
30
+
31
+ /**
32
+ * Office address
33
+ * @var ResultAddressEx
34
+ */
35
+ private $_address;
36
+
37
+ /**
38
+ * Working time for FULL working days - FROM
39
+ * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
40
+ */
41
+ private $_workingTimeFrom;
42
+
43
+ /**
44
+ * Working time for FULL working days - TO
45
+ * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
46
+ */
47
+ private $_workingTimeTo;
48
+
49
+ /**
50
+ * Working time for HALF working days - FROM
51
+ * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
52
+ */
53
+ private $_workingTimeHalfFrom;
54
+
55
+ /**
56
+ *Working time for HALF working days - TO
57
+ * @var integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
58
+ */
59
+ private $_workingTimeHalfTo;
60
+
61
+ /**
62
+ * Max parcel dimensions (size)
63
+ * @var Size
64
+ * @since 2.6.0
65
+ */
66
+ protected $_maxParcelDimensions;
67
+
68
+ /**
69
+ * Max parcel weight
70
+ * @var double signed 64-bit
71
+ * @since 2.6.0
72
+ */
73
+ protected $_maxParcelWeight;
74
+
75
+ /**
76
+ * Working time schedule
77
+ * @var array of ResultWorkingTime
78
+ * @since 2.6.0
79
+ */
80
+ protected $_workingTimeSchedule;
81
+
82
+ /**
83
+ * Office type
84
+ * @var integer Signed 16-bit integer
85
+ * @since 3.0.1
86
+ */
87
+ protected $_officeType;
88
+
89
+ /**
90
+ * Constructs new instance of ResultStreet
91
+ * @param stdClass $stdClassResultStreet
92
+ */
93
+ function __construct($stdClassResultOffice) {
94
+ $this->_id = isset($stdClassResultOffice->id) ? $stdClassResultOffice->id : null;
95
+ $this->_name = isset($stdClassResultOffice->name) ? $stdClassResultOffice->name : null;
96
+ $this->_siteId = isset($stdClassResultOffice->siteId) ? $stdClassResultOffice->siteId : null;
97
+ $this->_address = isset($stdClassResultOffice->address) ? new ResultAddressEx($stdClassResultOffice->address) : null;
98
+ $this->_workingTimeFrom = isset($stdClassResultOffice->workingTimeFrom) ? $stdClassResultOffice->workingTimeFrom : null;
99
+ $this->_workingTimeTo = isset($stdClassResultOffice->workingTimeTo) ? $stdClassResultOffice->workingTimeTo : null;
100
+ $this->_workingTimeHalfFrom = isset($stdClassResultOffice->workingTimeHalfFrom) ? $stdClassResultOffice->workingTimeHalfFrom : null;
101
+ $this->_workingTimeHalfTo = isset($stdClassResultOffice->workingTimeHalfTo) ? $stdClassResultOffice->workingTimeHalfTo : null;
102
+ $this->_maxParcelDimensions = isset($stdClassResultOffice->maxParcelDimensions) ? new Size($stdClassResultOffice->maxParcelDimensions) : null;
103
+ $this->_maxParcelWeight = isset($stdClassResultOffice->maxParcelWeight) ? $stdClassResultOffice->maxParcelWeight : null;
104
+ $this->_officeType = isset($stdClassResultOffice->officeType) ? $stdClassResultOffice->officeType : null;
105
+
106
+ $arrWorkingTimeSchedule = array();
107
+ if (isset($stdClassResultOffice->workingTimeSchedule)) {
108
+ if (is_array($stdClassResultOffice->workingTimeSchedule)) {
109
+ for($i = 0; $i < count($stdClassResultOffice->workingTimeSchedule); $i++) {
110
+ $arrWorkingTimeSchedule[$i] = new ResultWorkingTime($stdClassResultOffice->workingTimeSchedule[$i]);
111
+ }
112
+ } else {
113
+ $arrWorkingTimeSchedule[0] = new ResultWorkingTime($stdClassResultOffice->workingTimeSchedule);
114
+ }
115
+ }
116
+ $this->_workingTimeSchedule = $arrWorkingTimeSchedule;
117
+ }
118
+
119
+ /**
120
+ * Get quarter ID
121
+ * @return integer Signed 64-bit quarter ID
122
+ */
123
+ public function getId() {
124
+ return $this->_id;
125
+ }
126
+
127
+ /**
128
+ * Get quarter name
129
+ * @return string Quarter name
130
+ */
131
+ public function getName() {
132
+ return $this->_name;
133
+ }
134
+
135
+ /**
136
+ * Get serving site ID
137
+ * @return string Serving site ID
138
+ */
139
+ public function getSiteId() {
140
+ return $this->_siteId;
141
+ }
142
+
143
+ /**
144
+ * Get office address
145
+ * @return ResultAddressEx Office address
146
+ */
147
+ public function getAddress() {
148
+ return $this->_address;
149
+ }
150
+
151
+ /**
152
+ * Get working time for FULL working days - FROM
153
+ * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
154
+ */
155
+ public function getWorkingTimeFrom() {
156
+ return $this->_workingTimeFrom;
157
+ }
158
+
159
+ /**
160
+ * Get working time for FULL working days - TO
161
+ * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
162
+ */
163
+ public function getWorkingTimeTo() {
164
+ return $this->_workingTimeTo;
165
+ }
166
+
167
+ /**
168
+ * Get working time for HALF working days - FROM
169
+ * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
170
+ */
171
+ public function getWorkingTimeHalfFrom() {
172
+ return $this->_workingTimeHalfFrom;
173
+ }
174
+
175
+ /**
176
+ * Get working time for HALF working days - TO
177
+ * @return integer Signed 16-bit integer ("HHmm" format, i.e., the number "1315" means "13:15", "830" means "8:30" etc.)
178
+ */
179
+ public function getWorkingTimeHalfTo() {
180
+ return $this->_workingTimeHalfTo;
181
+ }
182
+
183
+ /**
184
+ * Get MAX parcel dimensions
185
+ * @return Size Maximum parcel dimensions
186
+ * @since 2.6.0
187
+ */
188
+ public function getMaxParcelDimensions() {
189
+ return $this->_maxParcelDimensions;
190
+ }
191
+
192
+ /**
193
+ * Get MAX parcel weight
194
+ * @return Size Maximum parcel weight
195
+ * @since 2.6.0
196
+ */
197
+ public function getMaxParcelWeight() {
198
+ return $this->_maxParcelWeight;
199
+ }
200
+
201
+ /**
202
+ * Get working time schedule
203
+ * @return array list of ResultWorkingTime
204
+ * @since 2.6.0
205
+ */
206
+ public function getWorkingTimeSchedule() {
207
+ return $this->_workingTimeSchedule;
208
+ }
209
+
210
+ /**
211
+ * Get office type
212
+ * @return signed 16-bit integer (nullable)
213
+ * @since 3.0.1
214
+ */
215
+ public function getOfficeType() {
216
+ return $this->_getOfficeType;
217
+ }
218
+ }
219
  ?>
lib/SpeedyEPS/ver01/ResultParcelInfoEx.class.php CHANGED
@@ -41,6 +41,18 @@ class ResultParcelInfoEx {
41
  */
42
  private $_sizeDeclared;
43
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  /**
45
  * Constructs new instance of stdClassResultParcelInfoEx from stdClass
46
  * @param stdClass $stdClassResultParcelInfoEx
@@ -52,6 +64,8 @@ class ResultParcelInfoEx {
52
  $this->_weightDeclared = isset($stdClassResultParcelInfoEx->weightDeclared) ? $stdClassResultParcelInfoEx->weightDeclared : null;
53
  $this->_sizeMeasured = isset($stdClassResultParcelInfoEx->sizeMeasured) ? new Size($stdClassResultParcelInfoEx->sizeMeasured) : null;
54
  $this->_sizeDeclared = isset($stdClassResultParcelInfoEx->sizeDeclared) ? new Size($stdClassResultParcelInfoEx->sizeDeclared) : null;
 
 
55
  }
56
 
57
  /**
@@ -102,6 +116,22 @@ class ResultParcelInfoEx {
102
  return $this->_sizeDeclared;
103
  }
104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
 
106
  }
107
  ?>
41
  */
42
  private $_sizeDeclared;
43
 
44
+ /**
45
+ * Foreign parcel number associated with this parcel
46
+ * @var signed string (nullable)
47
+ */
48
+ private $_foreignParcelNumber;
49
+
50
+ /**
51
+ * Packing ID (number)
52
+ * @var signed 64-bit integer (nullable)
53
+ */
54
+ private $_packId;
55
+
56
  /**
57
  * Constructs new instance of stdClassResultParcelInfoEx from stdClass
58
  * @param stdClass $stdClassResultParcelInfoEx
64
  $this->_weightDeclared = isset($stdClassResultParcelInfoEx->weightDeclared) ? $stdClassResultParcelInfoEx->weightDeclared : null;
65
  $this->_sizeMeasured = isset($stdClassResultParcelInfoEx->sizeMeasured) ? new Size($stdClassResultParcelInfoEx->sizeMeasured) : null;
66
  $this->_sizeDeclared = isset($stdClassResultParcelInfoEx->sizeDeclared) ? new Size($stdClassResultParcelInfoEx->sizeDeclared) : null;
67
+ $this->_foreignParcelNumber = isset($stdClassResultParcelInfoEx->foreignParcelNumber) ? $stdClassResultParcelInfoEx->foreignParcelNumber : null;
68
+ $this->_packId = isset($stdClassResultParcelInfoEx->packId) ? $stdClassResultParcelInfoEx->packId : null;
69
  }
70
 
71
  /**
116
  return $this->_sizeDeclared;
117
  }
118
 
119
+ /**
120
+ * Foreign parcel number associated with this parcel
121
+ * return string (nullable)
122
+ */
123
+ public function getForeignParcelNumber() {
124
+ return $this->_foreignParcelNumber;
125
+ }
126
+
127
+ /**
128
+ * Packing ID (number)
129
+ * return signed 64-bit integer (nullable)
130
+ */
131
+ public function getPackId() {
132
+ return $this->_packId;
133
+ }
134
+
135
 
136
  }
137
  ?>
lib/SpeedyEPS/ver01/ResultPickingExtendedInfo.class.php CHANGED
@@ -5,6 +5,7 @@ require_once 'ResultOptionsBeforePayment.class.php';
5
  require_once 'ResultPackings.class.php';
6
  require_once 'ResultReturnVoucher.class.php';
7
  require_once 'ResultDeliveryInfo.class.php';
 
8
 
9
  /**
10
  * Instances of this class are returned as a result of getPickingExtendedInfo
5
  require_once 'ResultPackings.class.php';
6
  require_once 'ResultReturnVoucher.class.php';
7
  require_once 'ResultDeliveryInfo.class.php';
8
+ require_once 'CODPayment.class.php';
9
 
10
  /**
11
  * Instances of this class are returned as a result of getPickingExtendedInfo
lib/SpeedyEPS/ver01/ResultRoutingLabelInfo.class.php ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Instances of this class are returned routing information for specified parcel number.
5
+ */
6
+ class ResultRoutingLabelInfo {
7
+
8
+ /**
9
+ * Delivery hub id
10
+ * @access private
11
+ * @var integer
12
+ */
13
+ private $_hubId;
14
+
15
+ /**
16
+ * Delivery office id
17
+ * @access private
18
+ * @var integer
19
+ */
20
+ private $_officeId;
21
+
22
+ /**
23
+ * Delivery deadline day of month
24
+ * @access private
25
+ * @var integer
26
+ */
27
+ private $_deadlineDay;
28
+
29
+ /**
30
+ * The delivery deadline month
31
+ * @access private
32
+ * @var integer
33
+ */
34
+ private $_deadlineMonth;
35
+
36
+ /**
37
+ * Tour Id
38
+ * @access private
39
+ * @var integer
40
+ */
41
+ private $_tourId;
42
+
43
+ /**
44
+ * Barcode containing the parcel number and important routing information.
45
+ * @access private
46
+ * @var string
47
+ */
48
+ private $_fullBarcode;
49
+
50
+
51
+ /**
52
+ * Constructs new instance of stdClassResultRoutingLabelInfo from stdClass
53
+ * @param stdClass $stdClassResultRoutingLabelInfo
54
+ */
55
+ function __construct($stdClassResultRoutingLabelInfo) {
56
+ $this->_hubId = isset($stdClassResultRoutingLabelInfo -> hubId) ? $stdClassResultRoutingLabelInfo -> hubId : null;
57
+ $this->_officeId = isset($stdClassResultRoutingLabelInfo -> officeId) ? $stdClassResultRoutingLabelInfo -> officeId : null;
58
+ $this->_deadlineDay = isset($stdClassResultRoutingLabelInfo -> deadlineDay) ? $stdClassResultRoutingLabelInfo -> deadlineDay : null;
59
+ $this->_deadlineMonth = isset($stdClassResultRoutingLabelInfo -> deadlineMonth) ? $stdClassResultRoutingLabelInfo -> deadlineMonth : null;
60
+ $this->_tourId = isset($stdClassResultRoutingLabelInfo -> tourId) ? $stdClassResultRoutingLabelInfo -> tourId : null;
61
+ $this->_fullBarcode = isset($stdClassResultRoutingLabelInfo -> fullBarcode) ? $stdClassResultRoutingLabelInfo -> fullBarcode : null;
62
+ }
63
+
64
+ /**
65
+ * Get delivery hub id
66
+ * @return integer
67
+ */
68
+ public function getHubId() {
69
+ return $this->_hubId;
70
+ }
71
+
72
+ /**
73
+ * Get delivery office id
74
+ * @return integer
75
+ */
76
+ public function getOfficeId() {
77
+ return $this->_officeId;
78
+ }
79
+
80
+ /**
81
+ * Get delivery deadline day of month
82
+ * @return integer
83
+ */
84
+ public function getDeadlineDay() {
85
+ return $this->_deadlineDay;
86
+ }
87
+
88
+ /**
89
+ * Get delivery deadline month
90
+ * @return integer
91
+ */
92
+ public function getDeadlineMonth() {
93
+ return $this->_deadlineMonth;
94
+ }
95
+
96
+ /**
97
+ * Get tour Id
98
+ * @return integer
99
+ */
100
+ public function getTourId() {
101
+ return $this->_tourId;
102
+ }
103
+
104
+ /**
105
+ * Get fullBarcode
106
+ * @return string
107
+ */
108
+ public function getFullBarcode() {
109
+ return $this->_fullBarcode;
110
+ }
111
+
112
+ }
113
+ ?>
lib/SpeedyEPS/ver01/soap/EPSSOAPInterfaceImpl.class.php CHANGED
@@ -1135,13 +1135,14 @@ class EPSSOAPInterfaceImpl extends SoapClient implements EPSInterface {
1135
  /**
1136
  * @see EPSInterface::listOfficesEx()
1137
  */
1138
- public function listOfficesEx($sessionId, $name, $siteId, $language) {
1139
  try {
1140
  $listOfficesExStdObject = new stdClass();
1141
  $listOfficesExStdObject->sessionId = $sessionId;
1142
  $listOfficesExStdObject->name = $name;
1143
  $listOfficesExStdObject->siteId = $siteId;
1144
  $listOfficesExStdObject->language = $language;
 
1145
  $response = parent::listOfficesEx($listOfficesExStdObject);
1146
  $arrListOfficesEx = array();
1147
  if (isset($response->return)) {
@@ -1463,5 +1464,28 @@ class EPSSOAPInterfaceImpl extends SoapClient implements EPSInterface {
1463
  }
1464
  }
1465
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1466
  }
1467
  ?>
1135
  /**
1136
  * @see EPSInterface::listOfficesEx()
1137
  */
1138
+ public function listOfficesEx($sessionId, $name, $siteId, $language, $countryId) {
1139
  try {
1140
  $listOfficesExStdObject = new stdClass();
1141
  $listOfficesExStdObject->sessionId = $sessionId;
1142
  $listOfficesExStdObject->name = $name;
1143
  $listOfficesExStdObject->siteId = $siteId;
1144
  $listOfficesExStdObject->language = $language;
1145
+ $listOfficesExStdObject->countryId = $countryId;
1146
  $response = parent::listOfficesEx($listOfficesExStdObject);
1147
  $arrListOfficesEx = array();
1148
  if (isset($response->return)) {
1464
  }
1465
  }
1466
 
1467
+
1468
+ /**
1469
+ * @see EPSInterface::getRoutingLabelInfo()
1470
+ */
1471
+ public function getRoutingLabelInfo($sessionId, $parcelId) {
1472
+ try {
1473
+ $getRoutingLabelInfoStdObject = new stdClass();
1474
+ $getRoutingLabelInfoStdObject -> sessionId = $sessionId;
1475
+ $getRoutingLabelInfoStdObject -> parcelId = $parcelId;
1476
+ $response = parent::getRoutingLabelInfo($getRoutingLabelInfoStdObject);
1477
+
1478
+ if (isset($response->return)) {
1479
+ $ResultRoutingLabelInfo = new ResultRoutingLabelInfo($response->return);
1480
+ } else {
1481
+ $ResultRoutingLabelInfo = null;
1482
+ }
1483
+ return $ResultRoutingLabelInfo;
1484
+
1485
+ } catch (SoapFault $sf) {
1486
+ throw new ServerException($sf);
1487
+ }
1488
+ }
1489
+
1490
  }
1491
  ?>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Speedy_Shipping</name>
4
- <version>2.0.2</version>
5
  <stability>stable</stability>
6
  <license>Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Version 2.0.2</summary>
10
- <description>Version 2.0.2</description>
11
- <notes>Version 2.0.2</notes>
12
  <authors><author><name>Speedy JSC</name><user>evgeni</user><email>magento@speedy.bg</email></author></authors>
13
- <date>2016-10-14</date>
14
- <time>14:47:08</time>
15
- <contents><target name="mageetc"><dir name="modules"><file name="Speedyshipping.xml" hash="a597ad6e81bb153bafe437f2869ede69"/></dir></target><target name="magecommunity"><dir name="Speedy"><dir name="Speedyshipping"><dir name="Block"><dir name="Adminhtml"><file name="Billoflading.php" hash="ebacc4feaec48c5f5d0e3f05a45689eb"/><dir name="Requestcourier"><file name="Grid.php" hash="2284de6c2d2ef6029c8a84bd86f8bc53"/><dir name="Renderer"><file name="Cancelbutton.php" hash="062d962aed0a14896558dd59e03775c9"/><file name="Created.php" hash="3ab6eba87f8986ce55c823327ec60e79"/><file name="Datecreated.php" hash="36ca56ed37cb572c19bcb7e7e7dff081"/><file name="Requestbutton.php" hash="7d8daf6dfebec289f58d035bfc4d9c6d"/><file name="Viewbol.php" hash="728a9cd399df38532a8136adc618b28e"/><file name="Vieworder.php" hash="fb6c0ac4134d26a705f2c7bdc658f035"/></dir><file name="Requestcontainer.php" hash="5529d32f1698e12dc2cf078c68a53797"/></dir><dir name="Sales"><dir name="Order"><dir name="Create"><dir name="Billing"><file name="Address.php" hash="3e3ce63a089eee5d94dca41a0cfa9525"/></dir><dir name="Shipping"><file name="Address.php" hash="47ead01e856927c8ac6362b84ff39f31"/><file name="Form.php" hash="90112a2a3ed59b021d8fcd347e7b5292"/></dir><dir name="Speedy"><file name="Form.php" hash="5d33815cc6bf12e2bb77bdb7aa7b8468"/></dir><file name="Totals.php" hash="da5b3fe05aca0194f12dcc239be47d45"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Moneytransfer.php" hash="db4333dd1f36ec11beadfb64f0596320"/><file name="Testbutton.php" hash="09aaa0674763be7a3d18fa476decd110"/></dir></dir></dir></dir><dir name="Customer"><dir name="Address"><file name="Edit.php" hash="29852467e29ecd706303e0ffc85ed009"/></dir></dir><dir name="Onepage"><dir name="Billing"><file name="Billing.php" hash="0a2ee273b12e8cc86e91e65f0a7c1cd9"/></dir><file name="Paymentinfo.php" hash="37b23f4cec78407c080821e7a4977fdd"/><file name="Pickupform.php" hash="6185b390e0438a3c588d3bf8362c54cc"/><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="72f3789bb35612be09bb50f6f9f1b443"/></dir><file name="Shipping.php" hash="bf9a606103c2c769fd93240167ae3b50"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="ea891afb31df4924edb51c659a700905"/><file name="Exceptionmap.php" hash="5efa0d9221546f4a3b29f98d260998a8"/><file name="Transliterate.php" hash="3f3550a010e08e0b5968645ce6fea5ff"/><dir name="Validate"><file name="Address.php" hash="ad1aea0ca237b264d066f82028e832b2"/><file name="Validate.php" hash="7bee329f2d1f3021c27311f6b674015a"/></dir></dir><dir name="Model"><dir name="Autocomplete"><file name="Address.php" hash="719ce807a2be702c0e62ed4af775f94f"/></dir><dir name="Carrier"><dir name="Receiverdata"><file name="Receiverdata.php" hash="6dbd7852a462efa8522af1f4c45be21b"/></dir><dir name="Senderdata"><file name="Senderdata.php" hash="a29434d47a760d0b26c05da5ce5a8053"/></dir><file name="Shippingmethod.php" hash="785ea37903233ba784be70ad0ae0efc9"/><dir name="Source"><file name="Beforepayment.php" hash="d5f748b0a3f34e93783954f401122eca"/><file name="Calculation.php" hash="1b26134f759ce6b1233268e12cded07b"/><file name="Deferreddays.php" hash="c0b4154d31d5080a5970eab4ba5f9315"/><file name="Method.php" hash="7511ed2296880851463cd38096c307ae"/><file name="Moneytransfer.php" hash="391b7987d5e36e2e1e75bca9fb07d09d"/><file name="Office.php" hash="38d718531131f17dc452a72370d7e5f6"/><file name="Tablerate.php" hash="ca78fcedb9b8dc153e98dcda01d68387"/><file name="Takingoffset.php" hash="a707c9ecb45d1ae6886770264d7c850d"/></dir><file name="Tablerate.php" hash="cb14ab3cfbbaa433bc3502502da2d34d"/></dir><file name="Observer.php" hash="39fb0513a418f0a142b47ef60e1fa27d"/><dir name="Rate"><file name="Result.php" hash="9e57224fe86a696a8c51e47c1808226f"/></dir><dir name="Resource"><dir name="Carrier"><dir name="Tablerate"><file name="Collection.php" hash="17758bfc8c1adfe8d3e10b98bc44d8ea"/></dir><file name="Tablerate.php" hash="abc161abdfed7cdc4524a3ad84341c68"/></dir><dir name="Saveorder"><file name="Collection.php" hash="45cbc13c07ab7ac7e495bdead549c655"/></dir><file name="Saveorder.php" hash="ebb22be5c4334a201bd6b09d72e96cbe"/><file name="Setup.php" hash="f4fd4f27ba10a9fc68e272a475ff2156"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><file name="Rate.php" hash="82282b54b161255665c888ff9cd7fc6d"/></dir></dir></dir><file name="Saveorder.php" hash="4bbd01470d9ffa1d305fcf7210f88726"/></dir><dir name="controllers"><file name="AddressController.php" hash="0bb8fd38ec39fd04272cddd0d38b2808"/><dir name="Adminhtml"><file name="AddressController.php" hash="4e3b83925ff3eef839674e3cac9e29aa"/><file name="CheckcredentialsController.php" hash="6ea877b98919d725a566282de47bce21"/><file name="PrintController.php" hash="306373730af5e7599876ba2ebd7466ad"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="f270b82c36813ec5022237774dc3208e"/><file name="config.xml" hash="12d02526709f3748992eb899a956c248"/><file name="jstranslator.xml" hash="3adf187b44e3ffc2c43e7508a8d62c9c"/><file name="system.xml" hash="915e4462a8e837b34a27096c2cdf25d1"/></dir><dir name="sql"><dir name="speedyshippingmodule_setup"><file name="mysql4-install-1.0.3.php" hash="4b1bc73ff91011b3c41a2b7adf107f3d"/><file name="mysql4-upgrade-1.0.7-1.0.8.php" hash="d12a72ecbd7d8e31a0e3c6c300d8f09c"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="31093fa1c0114c1ff7a9ae994a6a39bb"/><file name="mysql4-upgrade-1.2.0-1.2.1.php" hash="740d53e911328a20b22b0bf63630171a"/></dir></dir></dir></dir></target><target name="magelocale"><dir><dir name="bg_BG"><file name="speedyTranslate.csv" hash="75437a0cd652dc68f7dbfcc33f29a0c3"/></dir><dir name="en_US"><file name="speedyTranslate.csv" hash="4421f072891d843f8dd35799e37509f1"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="speedy_shipping.xml" hash="3a428ae6bde62813449b9fdf805b6b1b"/></dir><dir name="template"><dir name="speedy_speedyshipping"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="46642f90e16e1389a9f56c9f0c80b91a"/><dir name="payment_method"><file name="paymentInfo.phtml" hash="8bc351fab67fe3e89d6da86b9ce6812b"/></dir><file name="shipping.phtml" hash="57057febf3a2c8e69869ff92c55281c0"/><dir name="shipping_method"><file name="available.phtml" hash="d7055317ae97ead479375b5832c5c5ba"/><file name="pickupform.phtml" hash="12e0630599eca90fbf4352a20657577c"/><file name="shipping_method.phtml" hash="8683ed86bd37ca7de4ce2305f92b4aea"/></dir></dir></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="7a1ca55b250f43addc6155c5df687917"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="speedy_shipping.xml" hash="93bad292fed577e9c79c830aa47ebd61"/></dir><dir name="template"><dir name="speedy_speedyshipping"><file name="billoflading.phtml" hash="0e03fae7544f8faa186e88b5b54cbd6e"/><dir name="customer"><dir name="edit"><dir name="tab"><file name="addresses.phtml" hash="d30d71600b33872075dc0bc2b7bc3137"/></dir></dir></dir><file name="pickupform.phtml" hash="47925f1d7aa5be306db7bbdc054c3978"/><dir name="sales"><dir name="order"><dir name="create"><dir name="billing"><dir name="method"><file name="paymentInfo.phtml" hash="3dd1f746585216f952958c710924ae46"/></dir></dir><dir name="form"><file name="address.phtml" hash="973fa052e660a6352511aff51be6299a"/></dir><dir name="shipping"><dir name="method"><file name="form.phtml" hash="715d060632af0c3ad4287f46fd4e69c6"/></dir></dir><file name="totals.phtml" hash="cada285fd005956398d6d1d18d437892"/></dir></dir></dir><dir name="system"><dir name="config"><file name="testbutton.phtml" hash="561902225c1227b220cf2caa4d20fa33"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="SpeedyEPS"><dir name="util"><file name="Util.class.php" hash="e384756acbad8853c999e0435e833c19"/></dir><dir name="ver01"><file name="AddrNomen.class.php" hash="bba4d58eca6ffda35d1c07d93bfd84be"/><file name="ClientException.class.php" hash="67265022fa5937ae84f20d9f7a3e99cc"/><file name="ComplementaryServiceAllowance.class.php" hash="58e1d0e355943629ff80d53db973a9a9"/><file name="EPSFacade.class.php" hash="e6e4c476e62a974552ab43916673ba98"/><file name="EPSInterface.class.php" hash="750d19cf6224d724f8ca8f3b6e1b4e2d"/><file name="FixedDiscountCardId.class.php" hash="4a1467f2013014d509141f1f5f1b9566"/><file name="ParamAddress.class.php" hash="4b73bf8d5696034d5d405c5e407f82b7"/><file name="ParamAddressSearch.class.php" hash="c600829b3035b352a4946ae71c9f546d"/><file name="ParamBarcodeInfo.class.php" hash="fd17f2426934f53ec9617a96bdb096c0"/><file name="ParamCalculation.class.php" hash="54988bc664b1543061ad926928d3c36b"/><file name="ParamClientData.class.php" hash="e3f7bc2062f9e3e71ef4b4032ae10537"/><file name="ParamClientSearch.class.php" hash="51c779373bd3494254be8279139b9826"/><file name="ParamFilterCountry.class.php" hash="601f4366e2172fd9ad3ada116b9070fb"/><file name="ParamFilterSite.class.php" hash="1b5a66002441b6fa571f4ede91a8a292"/><file name="ParamLanguage.class.php" hash="fcfb607cbdb1c4edd0ff2e4b3818510d"/><file name="ParamOptionsBeforePayment.class.php" hash="41ac69a394ff45f5fcc3d82a35dfd192"/><file name="ParamOrder.class.php" hash="eb177c74d52d9e6a69ce1fd34535ea82"/><file name="ParamPDF.class.php" hash="28248201e71d34368bb2b76c58a16da9"/><file name="ParamPackings.class.php" hash="dd844732634fd0a52d3ea7f900ca47a4"/><file name="ParamParcel.class.php" hash="b322bbc0858eba9b3d7bb2fe11f5fdfd"/><file name="ParamParcelInfo.class.php" hash="c474263378eea17b4163ac3e9842dd3a"/><file name="ParamPhoneNumber.class.php" hash="53e20f2f8354d2caaac519abcfd81187"/><file name="ParamPicking.class.php" hash="82f1fae6006babee5ef64ab018936d3b"/><file name="ParamReturnServiceRequest.class.php" hash="b666cd7407e7cc66df58739975797e55"/><file name="ParamReturnShipmentRequest.class.php" hash="0fd2247493eb17980688c96afdeca4a0"/><file name="ParamReturnVoucher.class.php" hash="428adf3ea54b95d3801ac2b8dc619cef"/><file name="ParamSearchByRefNum.class.php" hash="14544cd4c6f6718bc68e2f4f2c6fe5f5"/><file name="ParamSearchSecondaryPickings.class.php" hash="8b2ee17a96200fbe17a43eadaca2c7df"/><file name="ResultAddress.class.php" hash="bd68573c83ee0aacbfd3cf645ecbb772"/><file name="ResultAddressEx.class.php" hash="22281f39fd2e6ced687ed847ba2be3a9"/><file name="ResultAddressInfo.class.php" hash="404c036a9c0043610b2eb98f2ec132d6"/><file name="ResultAddressSearch.class.php" hash="c9b8a3aba12bed01b37245c4a2303907"/><file name="ResultAddressString.class.php" hash="1356a0948908d49c203f546631d970a3"/><file name="ResultAmounts.class.php" hash="1ad02dbdc6eecc62f29f5e3ee0ffc854"/><file name="ResultBOL.class.php" hash="e095318e59be096cb949309834a863ba"/><file name="ResultCalculation.class.php" hash="90710f9860d920d763b423c77ffdc88a"/><file name="ResultCalculationMS.class.php" hash="f991bc662dba556c7c7bc749d09ecb12"/><file name="ResultClientData.class.php" hash="3e1ea047f22ee3cfa02a128e9ce1d65e"/><file name="ResultClientInfo.class.php" hash="0dba92401ba80c16c6daf05498fbf8b1"/><file name="ResultCommonObject.class.php" hash="2e8a719333466499dbef0102c7858a23"/><file name="ResultCountry.class.php" hash="2894daa35d5228f8a5ce7a5dcfcefa92"/><file name="ResultCourierService.class.php" hash="7181607ffd985726f732c6848a48feee"/><file name="ResultCourierServiceExt.class.php" hash="3dd8037809379588adcc17e8e82e06f4"/><file name="ResultDeliveryInfo.class.php" hash="62819fcdd2a3e2e31412f013f85345c9"/><file name="ResultLogin.class.php" hash="6d9507e82eb5af820665480f83d8bec9"/><file name="ResultMinMaxReal.class.php" hash="681aa4bbc9f580f7551a1820f9186fad"/><file name="ResultOffice.class.php" hash="4f911e40d8aaaf95761c63bb79d12e17"/><file name="ResultOfficeEx.class.php" hash="c0b7d1ad73a7b64d9a90066efb1ccb5a"/><file name="ResultOptionsBeforePayment.class.php" hash="ff5fd41d8b04c8eedebd6232f5073cb2"/><file name="ResultOrderPickingInfo.class.php" hash="72dcf1587374afe319cebd49e8a30fa3"/><file name="ResultPackings.class.php" hash="db4974a07d8ae42223c53df8cbfc217e"/><file name="ResultParcelInfo.class.php" hash="cfd36bbf6b4c93e80e713c85f127a027"/><file name="ResultParcelInfoEx.class.php" hash="2866b92f3a33b633e691fd211051c28e"/><file name="ResultPhoneNumber.class.php" hash="e8484071762d91059097dc9d98755090"/><file name="ResultPickingExtendedInfo.class.php" hash="1105e9d8748acff5c42538ea57d9bb70"/><file name="ResultPickingInfo.class.php" hash="ec5b59388bc49d54e58cca7d46712c6c"/><file name="ResultQuarter.class.php" hash="9bc9d441128e5edc551c2c52ef473f57"/><file name="ResultReturnVoucher.class.php" hash="32121e1181856b33874c5dfc78b8afff"/><file name="ResultSite.class.php" hash="3995a885228576c7852dfae43e2c0c15"/><file name="ResultSiteEx.class.php" hash="ecdbf452151030e8d1d35300b7f4f76b"/><file name="ResultSpecialDeliveryRequirement.class.php" hash="24a874c667c47ebead043150b2ddf44e"/><file name="ResultState.class.php" hash="97b102417faa3b766d66aec41cab3603"/><file name="ResultStreet.class.php" hash="7d625402e05cfcf205b31ba32650bcb4"/><file name="ResultTrackPicking.class.php" hash="4794801930fa674ec2f4f2b2c5d5e4fc"/><file name="ResultTrackPickingEx.class.php" hash="66b4c4f73381ee794455da0dd560c738"/><file name="ResultWorkingTime.class.php" hash="2e28a17ad516dd8bd4bed02ef23338f5"/><file name="ServerException.class.php" hash="b11fc48eb537992e8c506807e7edd9d2"/><file name="Size.class.php" hash="8bcf5f8a026e8948bd68c02965002ed2"/><file name="ValueAddress.class.php" hash="668e57a1351d549b7b6fb49afe154a94"/><dir name="soap"><file name="EPSSOAPInterfaceImpl.class.php" hash="fde222f84978111d8cb58bcbc9d23f88"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="speedy"><dir name="css"><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="8bede029bbc5dfdc51c03c31c42c69b6"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="0e22f1e0b51bab992d835373d8687aff"/><file name="ui-bg_flat_10_000000_40x100.png" hash="f1d874a7f2f98005ef41142e7c529afb"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="0239611116cbcf93c7cd902997df0c2b"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="e08a0b044bc2699a3dd6ac4d081736d4"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="d985d3e1f3980efaa8a9482da6282a6a"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="22d6e00af67ff329b00e70164acbfa6e"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="148fa5a4d59240f3b1322e52c0b42646"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="8a5e1b98c9b8a758fb45e982724cc1d0"/><file name="ui-icons_222222_256x240.png" hash="a1b3887a86cf1791f23c0b53b4d3585f"/><file name="ui-icons_228ef1_256x240.png" hash="73044fed6bab2c5ed02eed93b7d3adaa"/><file name="ui-icons_ef8c08_256x240.png" hash="1eec256e4f7b8324e619aae36ecfbfbd"/><file name="ui-icons_ffd27a_256x240.png" hash="c1a79bd65be08aa2be391cba2321f448"/><file name="ui-icons_ffffff_256x240.png" hash="e3f4748b19b87aadaa924d85f0882432"/></dir><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="adffefb9419589d6b897a81877e85e42"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="5a6524e1e6c434435238b5c93e583b6f"/><file name="ui-bg_flat_10_000000_40x100.png" hash="3d978d04a04f319ce2412b1c11afa926"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="bb29642d42ead99b3f719a1c7c838026"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="dc52f3b6718f318deb7813c5115137c5"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="e25e9547ddaa4fad97741b252ba9f800"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="661db0dc3da9538d25ffd010dc514751"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="d78652f40e0c1f0281988aacd8269833"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="3d9bb8f4d52f22fd5d494e87518766c0"/><file name="ui-icons_222222_256x240.png" hash="a1b3887a86cf1791f23c0b53b4d3585f"/><file name="ui-icons_228ef1_256x240.png" hash="73044fed6bab2c5ed02eed93b7d3adaa"/><file name="ui-icons_ef8c08_256x240.png" hash="1eec256e4f7b8324e619aae36ecfbfbd"/><file name="ui-icons_ffd27a_256x240.png" hash="c1a79bd65be08aa2be391cba2321f448"/><file name="ui-icons_ffffff_256x240.png" hash="e3f4748b19b87aadaa924d85f0882432"/></dir><file name="jquery-ui-1.10.2.custom.min.css" hash="b14e6e4dfddacb48689578a9f9b69837"/><file name="jquery-ui-1.10.3.custom.min.css" hash="61770a422674ed451871ecdcf75ea67d"/><file name="jquery.autocomplete.css" hash="e1efb0a6e3da2b6ac201dc98c585aec8"/></dir><dir name="images"><file name="indicator.gif" hash="14c56c5a40e61aea738e46b66d4d8c90"/></dir><dir name="js"><file name="jquery-1.9.1.min.js" hash="663628f795cb62444143fde1ebdf2b5b"/><file name="jquery-ui-1.10.3.custom.min.js" hash="ca78f74e4ebf73b646c14f7803031e48"/><file name="noconflict.js" hash="b7acb127eceaaa67ac1597fafdd85000"/><file name="office_pickup.js" hash="fb0e225b5e03e192670c0c0a62b4aa54"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="speedy"><dir name="css"><file name="hideEditAddress.css" hash="1b03b3bf871c23565428454442c88cad"/><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="adffefb9419589d6b897a81877e85e42"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="5a6524e1e6c434435238b5c93e583b6f"/><file name="ui-bg_flat_10_000000_40x100.png" hash="3d978d04a04f319ce2412b1c11afa926"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="bb29642d42ead99b3f719a1c7c838026"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="dc52f3b6718f318deb7813c5115137c5"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="e25e9547ddaa4fad97741b252ba9f800"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="661db0dc3da9538d25ffd010dc514751"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="d78652f40e0c1f0281988aacd8269833"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="3d9bb8f4d52f22fd5d494e87518766c0"/><file name="ui-icons_222222_256x240.png" hash="a1b3887a86cf1791f23c0b53b4d3585f"/><file name="ui-icons_228ef1_256x240.png" hash="73044fed6bab2c5ed02eed93b7d3adaa"/><file name="ui-icons_ef8c08_256x240.png" hash="1eec256e4f7b8324e619aae36ecfbfbd"/><file name="ui-icons_ffd27a_256x240.png" hash="c1a79bd65be08aa2be391cba2321f448"/><file name="ui-icons_ffffff_256x240.png" hash="e3f4748b19b87aadaa924d85f0882432"/></dir><file name="jquery-ui-1.10.2.custom.min.css" hash="63a7972fe14211955df1b5631d2bfba1"/><file name="jquery.autocomplete.css" hash="e1efb0a6e3da2b6ac201dc98c585aec8"/></dir><dir name="images"><file name="indicator.gif" hash="03ce3dcc84af110e9da8699a841e5200"/></dir><dir name="js"><file name="jquery-1.9.1.min.js" hash="ba714fde311a118967b9d8cb017c81f6"/><file name="jquery-ui-1.10.2.custom.min.js" hash="34f617d6fa9771c9cec61e9f6b729cf4"/><file name="noconflict.js" hash="e2060c4e5e5955c824723b13a212d3ec"/><file name="office_pickup.js" hash="dfbb5d0f546be2d7c64fa3393ab4a898"/><file name="validateAddress.js" hash="59a74c07abb149a42038bc16573074ef"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.7.0.2</min><max>1.9.2.4</max></package><extension><name>soap</name><min></min><max></max></extension><extension><name>curl</name><min></min><max></max></extension><extension><name>openssl</name><min></min><max></max></extension></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Speedy_Shipping</name>
4
+ <version>2.1.1</version>
5
  <stability>stable</stability>
6
  <license>Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Version 2.1.1</summary>
10
+ <description>Version 2.1.1</description>
11
+ <notes>Version 2.1.1</notes>
12
  <authors><author><name>Speedy JSC</name><user>evgeni</user><email>magento@speedy.bg</email></author></authors>
13
+ <date>2016-11-10</date>
14
+ <time>13:16:57</time>
15
+ <contents><target name="mageetc"><dir name="modules"><file name="Speedyshipping.xml" hash="a597ad6e81bb153bafe437f2869ede69"/></dir></target><target name="magecommunity"><dir name="Speedy"><dir name="Speedyshipping"><dir name="Block"><dir name="Adminhtml"><file name="Billoflading.php" hash="3098d690ae78e279e8882856cf7f2e5f"/><dir name="Requestcourier"><file name="Grid.php" hash="9de96a5ebf01743301af892664a06c95"/><dir name="Renderer"><file name="Cancelbutton.php" hash="062d962aed0a14896558dd59e03775c9"/><file name="Created.php" hash="3ab6eba87f8986ce55c823327ec60e79"/><file name="Datecreated.php" hash="36ca56ed37cb572c19bcb7e7e7dff081"/><file name="Requestbutton.php" hash="7d8daf6dfebec289f58d035bfc4d9c6d"/><file name="Viewbol.php" hash="728a9cd399df38532a8136adc618b28e"/><file name="Vieworder.php" hash="fb6c0ac4134d26a705f2c7bdc658f035"/><file name="Viewprintvoucher.php" hash="a883d229a36f337d9048c0e99c6d9d7f"/></dir><file name="Requestcontainer.php" hash="5529d32f1698e12dc2cf078c68a53797"/></dir><dir name="Sales"><dir name="Order"><dir name="Create"><dir name="Billing"><file name="Address.php" hash="3e3ce63a089eee5d94dca41a0cfa9525"/></dir><dir name="Shipping"><file name="Address.php" hash="47ead01e856927c8ac6362b84ff39f31"/><file name="Form.php" hash="90112a2a3ed59b021d8fcd347e7b5292"/></dir><dir name="Speedy"><file name="Form.php" hash="5d33815cc6bf12e2bb77bdb7aa7b8468"/></dir><file name="Totals.php" hash="da5b3fe05aca0194f12dcc239be47d45"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Moneytransfer.php" hash="db4333dd1f36ec11beadfb64f0596320"/><file name="Testbutton.php" hash="09aaa0674763be7a3d18fa476decd110"/></dir></dir></dir></dir><dir name="Customer"><dir name="Address"><file name="Edit.php" hash="29852467e29ecd706303e0ffc85ed009"/></dir></dir><dir name="Onepage"><dir name="Billing"><file name="Billing.php" hash="0a2ee273b12e8cc86e91e65f0a7c1cd9"/></dir><file name="Paymentinfo.php" hash="37b23f4cec78407c080821e7a4977fdd"/><file name="Pickupform.php" hash="6185b390e0438a3c588d3bf8362c54cc"/><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="72f3789bb35612be09bb50f6f9f1b443"/></dir><file name="Shipping.php" hash="bf9a606103c2c769fd93240167ae3b50"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="f3d20194d9e9bab36556913e28247eb4"/><file name="Exceptionmap.php" hash="5efa0d9221546f4a3b29f98d260998a8"/><file name="Transliterate.php" hash="3f3550a010e08e0b5968645ce6fea5ff"/><dir name="Validate"><file name="Address.php" hash="ad1aea0ca237b264d066f82028e832b2"/><file name="Validate.php" hash="7bee329f2d1f3021c27311f6b674015a"/></dir></dir><dir name="Model"><dir name="Autocomplete"><file name="Address.php" hash="719ce807a2be702c0e62ed4af775f94f"/></dir><dir name="Carrier"><dir name="Receiverdata"><file name="Receiverdata.php" hash="6dbd7852a462efa8522af1f4c45be21b"/></dir><dir name="Senderdata"><file name="Senderdata.php" hash="a29434d47a760d0b26c05da5ce5a8053"/></dir><file name="Shippingmethod.php" hash="1045db22cb091669e203e08c3790326b"/><dir name="Source"><file name="Beforepayment.php" hash="d5f748b0a3f34e93783954f401122eca"/><file name="Calculation.php" hash="1b26134f759ce6b1233268e12cded07b"/><file name="Deferreddays.php" hash="c0b4154d31d5080a5970eab4ba5f9315"/><file name="Method.php" hash="7511ed2296880851463cd38096c307ae"/><file name="Moneytransfer.php" hash="391b7987d5e36e2e1e75bca9fb07d09d"/><file name="Office.php" hash="38d718531131f17dc452a72370d7e5f6"/><file name="Payertype.php" hash="7563a69149d484852aa4b842f25a00b3"/><file name="Tablerate.php" hash="ca78fcedb9b8dc153e98dcda01d68387"/><file name="Takingoffset.php" hash="a707c9ecb45d1ae6886770264d7c850d"/></dir><file name="Tablerate.php" hash="cb14ab3cfbbaa433bc3502502da2d34d"/></dir><file name="Observer.php" hash="39fb0513a418f0a142b47ef60e1fa27d"/><dir name="Rate"><file name="Result.php" hash="9e57224fe86a696a8c51e47c1808226f"/></dir><dir name="Resource"><dir name="Carrier"><dir name="Tablerate"><file name="Collection.php" hash="c547d811fc3312d25daff3826ebfd49f"/></dir><file name="Tablerate.php" hash="5817f006b7577fe5fbab72373e72847f"/></dir><dir name="Saveorder"><file name="Collection.php" hash="45cbc13c07ab7ac7e495bdead549c655"/></dir><file name="Saveorder.php" hash="ebb22be5c4334a201bd6b09d72e96cbe"/><file name="Setup.php" hash="f4fd4f27ba10a9fc68e272a475ff2156"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><file name="Rate.php" hash="82282b54b161255665c888ff9cd7fc6d"/></dir></dir></dir><file name="Saveorder.php" hash="4bbd01470d9ffa1d305fcf7210f88726"/></dir><dir name="controllers"><file name="AddressController.php" hash="0bb8fd38ec39fd04272cddd0d38b2808"/><dir name="Adminhtml"><file name="AddressController.php" hash="4e3b83925ff3eef839674e3cac9e29aa"/><file name="CheckcredentialsController.php" hash="6ea877b98919d725a566282de47bce21"/><file name="PrintController.php" hash="3e282ebf8d3245b91a5e75186ce69fd4"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="f270b82c36813ec5022237774dc3208e"/><file name="config.xml" hash="8690b08fc76178aa90cee6c9552c28c6"/><file name="jstranslator.xml" hash="3adf187b44e3ffc2c43e7508a8d62c9c"/><file name="system.xml" hash="cc15985b5601c5f487ff73cb8d51888a"/></dir><dir name="sql"><dir name="speedyshippingmodule_setup"><file name="mysql4-install-1.0.3.php" hash="4b1bc73ff91011b3c41a2b7adf107f3d"/><file name="mysql4-upgrade-1.0.7-1.0.8.php" hash="d12a72ecbd7d8e31a0e3c6c300d8f09c"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="31093fa1c0114c1ff7a9ae994a6a39bb"/><file name="mysql4-upgrade-1.2.0-1.2.1.php" hash="740d53e911328a20b22b0bf63630171a"/><file name="mysql4-upgrade-2.0.2-2.1.0.php" hash="ccda091af0eef5e4608bfc4ceb536d94"/></dir></dir></dir></dir></target><target name="magelocale"><dir><dir name="bg_BG"><file name="speedyTranslate.csv" hash="c1dcd0ccdafb0e63af9a44ef463da0a5"/></dir><dir name="en_US"><file name="speedyTranslate.csv" hash="b0dfdaeaf0268dd419d80605202e7758"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="speedy_shipping.xml" hash="3a428ae6bde62813449b9fdf805b6b1b"/></dir><dir name="template"><dir name="speedy_speedyshipping"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="46642f90e16e1389a9f56c9f0c80b91a"/><dir name="payment_method"><file name="paymentInfo.phtml" hash="3cf427c150bf6201632105cef515e87d"/></dir><file name="shipping.phtml" hash="57057febf3a2c8e69869ff92c55281c0"/><dir name="shipping_method"><file name="available.phtml" hash="01c529e8d6f748cb41a3fafcc4444205"/><file name="pickupform.phtml" hash="68952dab3b3a12d9e6ab653e26e48d15"/><file name="shipping_method.phtml" hash="8683ed86bd37ca7de4ce2305f92b4aea"/></dir></dir></dir><dir name="customer"><dir name="address"><file name="edit.phtml" hash="7a1ca55b250f43addc6155c5df687917"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="speedy_shipping.xml" hash="93bad292fed577e9c79c830aa47ebd61"/></dir><dir name="template"><dir name="speedy_speedyshipping"><file name="billoflading.phtml" hash="410048edc4a3b533459675ec6817e1e8"/><dir name="customer"><dir name="edit"><dir name="tab"><file name="addresses.phtml" hash="d30d71600b33872075dc0bc2b7bc3137"/></dir></dir></dir><file name="pickupform.phtml" hash="5a83178e8d795ca2c27f25f08f0e7865"/><dir name="sales"><dir name="order"><dir name="create"><dir name="billing"><dir name="method"><file name="paymentInfo.phtml" hash="429ee332cb2e1d0fb7dd939becce0587"/></dir></dir><dir name="form"><file name="address.phtml" hash="973fa052e660a6352511aff51be6299a"/></dir><dir name="shipping"><dir name="method"><file name="form.phtml" hash="715d060632af0c3ad4287f46fd4e69c6"/></dir></dir><file name="totals.phtml" hash="cada285fd005956398d6d1d18d437892"/></dir></dir></dir><dir name="system"><dir name="config"><file name="testbutton.phtml" hash="561902225c1227b220cf2caa4d20fa33"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="SpeedyEPS"><dir name="util"><file name="Util.class.php" hash="e384756acbad8853c999e0435e833c19"/></dir><dir name="ver01"><file name="AddrNomen.class.php" hash="bba4d58eca6ffda35d1c07d93bfd84be"/><file name="CODPayment.class.php" hash="b09a0a52a6eef89d9da5d0dfa823045e"/><file name="ClientException.class.php" hash="67265022fa5937ae84f20d9f7a3e99cc"/><file name="ComplementaryServiceAllowance.class.php" hash="58e1d0e355943629ff80d53db973a9a9"/><file name="EPSFacade.class.php" hash="71a2c6e11011f9ddca386892feeccc74"/><file name="EPSInterface.class.php" hash="23c4d11d9c9388e1558199654377d964"/><file name="FixedDiscountCardId.class.php" hash="4a1467f2013014d509141f1f5f1b9566"/><file name="ParamAddress.class.php" hash="4b73bf8d5696034d5d405c5e407f82b7"/><file name="ParamAddressSearch.class.php" hash="c600829b3035b352a4946ae71c9f546d"/><file name="ParamBarcodeInfo.class.php" hash="fd17f2426934f53ec9617a96bdb096c0"/><file name="ParamCalculation.class.php" hash="fce0a4ea9d95319b3a248fd1f3c7cc9d"/><file name="ParamClientData.class.php" hash="e3f7bc2062f9e3e71ef4b4032ae10537"/><file name="ParamClientSearch.class.php" hash="51c779373bd3494254be8279139b9826"/><file name="ParamFilterCountry.class.php" hash="601f4366e2172fd9ad3ada116b9070fb"/><file name="ParamFilterSite.class.php" hash="1b5a66002441b6fa571f4ede91a8a292"/><file name="ParamLanguage.class.php" hash="fcfb607cbdb1c4edd0ff2e4b3818510d"/><file name="ParamOptionsBeforePayment.class.php" hash="41ac69a394ff45f5fcc3d82a35dfd192"/><file name="ParamOrder.class.php" hash="eb177c74d52d9e6a69ce1fd34535ea82"/><file name="ParamPDF.class.php" hash="28248201e71d34368bb2b76c58a16da9"/><file name="ParamPackings.class.php" hash="dd844732634fd0a52d3ea7f900ca47a4"/><file name="ParamParcel.class.php" hash="b322bbc0858eba9b3d7bb2fe11f5fdfd"/><file name="ParamParcelInfo.class.php" hash="c474263378eea17b4163ac3e9842dd3a"/><file name="ParamPhoneNumber.class.php" hash="53e20f2f8354d2caaac519abcfd81187"/><file name="ParamPicking.class.php" hash="82f1fae6006babee5ef64ab018936d3b"/><file name="ParamReturnServiceRequest.class.php" hash="b666cd7407e7cc66df58739975797e55"/><file name="ParamReturnShipmentRequest.class.php" hash="0fd2247493eb17980688c96afdeca4a0"/><file name="ParamReturnVoucher.class.php" hash="428adf3ea54b95d3801ac2b8dc619cef"/><file name="ParamSearchByRefNum.class.php" hash="14544cd4c6f6718bc68e2f4f2c6fe5f5"/><file name="ParamSearchSecondaryPickings.class.php" hash="8b2ee17a96200fbe17a43eadaca2c7df"/><file name="ResultAddress.class.php" hash="bd68573c83ee0aacbfd3cf645ecbb772"/><file name="ResultAddressEx.class.php" hash="22281f39fd2e6ced687ed847ba2be3a9"/><file name="ResultAddressInfo.class.php" hash="404c036a9c0043610b2eb98f2ec132d6"/><file name="ResultAddressSearch.class.php" hash="c9b8a3aba12bed01b37245c4a2303907"/><file name="ResultAddressString.class.php" hash="1356a0948908d49c203f546631d970a3"/><file name="ResultAmounts.class.php" hash="1ad02dbdc6eecc62f29f5e3ee0ffc854"/><file name="ResultBOL.class.php" hash="e095318e59be096cb949309834a863ba"/><file name="ResultCalculation.class.php" hash="90710f9860d920d763b423c77ffdc88a"/><file name="ResultCalculationMS.class.php" hash="f991bc662dba556c7c7bc749d09ecb12"/><file name="ResultClientData.class.php" hash="3e1ea047f22ee3cfa02a128e9ce1d65e"/><file name="ResultClientInfo.class.php" hash="0dba92401ba80c16c6daf05498fbf8b1"/><file name="ResultCommonObject.class.php" hash="2e8a719333466499dbef0102c7858a23"/><file name="ResultCountry.class.php" hash="2894daa35d5228f8a5ce7a5dcfcefa92"/><file name="ResultCourierService.class.php" hash="7181607ffd985726f732c6848a48feee"/><file name="ResultCourierServiceExt.class.php" hash="4f470698d16f5d042e08ce01133c5a16"/><file name="ResultDeliveryInfo.class.php" hash="7b4b34a299b424a90b5cb73525a0438f"/><file name="ResultLogin.class.php" hash="6d9507e82eb5af820665480f83d8bec9"/><file name="ResultMinMaxReal.class.php" hash="681aa4bbc9f580f7551a1820f9186fad"/><file name="ResultOffice.class.php" hash="4f911e40d8aaaf95761c63bb79d12e17"/><file name="ResultOfficeEx.class.php" hash="43b5f2d32914b56b39e5d4636cc4a5e8"/><file name="ResultOptionsBeforePayment.class.php" hash="ff5fd41d8b04c8eedebd6232f5073cb2"/><file name="ResultOrderPickingInfo.class.php" hash="72dcf1587374afe319cebd49e8a30fa3"/><file name="ResultPackings.class.php" hash="db4974a07d8ae42223c53df8cbfc217e"/><file name="ResultParcelInfo.class.php" hash="cfd36bbf6b4c93e80e713c85f127a027"/><file name="ResultParcelInfoEx.class.php" hash="4ea23054ddc7a48b68dd1d258bc00ccf"/><file name="ResultPhoneNumber.class.php" hash="e8484071762d91059097dc9d98755090"/><file name="ResultPickingExtendedInfo.class.php" hash="c75a823893704f13ee8dc87a166ffe65"/><file name="ResultPickingInfo.class.php" hash="ec5b59388bc49d54e58cca7d46712c6c"/><file name="ResultQuarter.class.php" hash="9bc9d441128e5edc551c2c52ef473f57"/><file name="ResultReturnVoucher.class.php" hash="32121e1181856b33874c5dfc78b8afff"/><file name="ResultRoutingLabelInfo.class.php" hash="277ad57d4657bd5a6b4a53082d03882a"/><file name="ResultSite.class.php" hash="3995a885228576c7852dfae43e2c0c15"/><file name="ResultSiteEx.class.php" hash="ecdbf452151030e8d1d35300b7f4f76b"/><file name="ResultSpecialDeliveryRequirement.class.php" hash="24a874c667c47ebead043150b2ddf44e"/><file name="ResultState.class.php" hash="97b102417faa3b766d66aec41cab3603"/><file name="ResultStreet.class.php" hash="7d625402e05cfcf205b31ba32650bcb4"/><file name="ResultTrackPicking.class.php" hash="4794801930fa674ec2f4f2b2c5d5e4fc"/><file name="ResultTrackPickingEx.class.php" hash="66b4c4f73381ee794455da0dd560c738"/><file name="ResultWorkingTime.class.php" hash="2e28a17ad516dd8bd4bed02ef23338f5"/><file name="ServerException.class.php" hash="b11fc48eb537992e8c506807e7edd9d2"/><file name="Size.class.php" hash="8bcf5f8a026e8948bd68c02965002ed2"/><file name="ValueAddress.class.php" hash="668e57a1351d549b7b6fb49afe154a94"/><dir name="soap"><file name="EPSSOAPInterfaceImpl.class.php" hash="47ca1ae5524336d67837847716896066"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="speedy"><dir name="css"><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="8bede029bbc5dfdc51c03c31c42c69b6"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="0e22f1e0b51bab992d835373d8687aff"/><file name="ui-bg_flat_10_000000_40x100.png" hash="f1d874a7f2f98005ef41142e7c529afb"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="0239611116cbcf93c7cd902997df0c2b"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="e08a0b044bc2699a3dd6ac4d081736d4"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="d985d3e1f3980efaa8a9482da6282a6a"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="22d6e00af67ff329b00e70164acbfa6e"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="148fa5a4d59240f3b1322e52c0b42646"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="8a5e1b98c9b8a758fb45e982724cc1d0"/><file name="ui-icons_222222_256x240.png" hash="a1b3887a86cf1791f23c0b53b4d3585f"/><file name="ui-icons_228ef1_256x240.png" hash="73044fed6bab2c5ed02eed93b7d3adaa"/><file name="ui-icons_ef8c08_256x240.png" hash="1eec256e4f7b8324e619aae36ecfbfbd"/><file name="ui-icons_ffd27a_256x240.png" hash="c1a79bd65be08aa2be391cba2321f448"/><file name="ui-icons_ffffff_256x240.png" hash="e3f4748b19b87aadaa924d85f0882432"/></dir><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="adffefb9419589d6b897a81877e85e42"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="5a6524e1e6c434435238b5c93e583b6f"/><file name="ui-bg_flat_10_000000_40x100.png" hash="3d978d04a04f319ce2412b1c11afa926"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="bb29642d42ead99b3f719a1c7c838026"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="dc52f3b6718f318deb7813c5115137c5"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="e25e9547ddaa4fad97741b252ba9f800"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="661db0dc3da9538d25ffd010dc514751"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="d78652f40e0c1f0281988aacd8269833"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="3d9bb8f4d52f22fd5d494e87518766c0"/><file name="ui-icons_222222_256x240.png" hash="a1b3887a86cf1791f23c0b53b4d3585f"/><file name="ui-icons_228ef1_256x240.png" hash="73044fed6bab2c5ed02eed93b7d3adaa"/><file name="ui-icons_ef8c08_256x240.png" hash="1eec256e4f7b8324e619aae36ecfbfbd"/><file name="ui-icons_ffd27a_256x240.png" hash="c1a79bd65be08aa2be391cba2321f448"/><file name="ui-icons_ffffff_256x240.png" hash="e3f4748b19b87aadaa924d85f0882432"/></dir><file name="jquery-ui-1.10.2.custom.min.css" hash="b14e6e4dfddacb48689578a9f9b69837"/><file name="jquery-ui-1.10.3.custom.min.css" hash="61770a422674ed451871ecdcf75ea67d"/><file name="jquery.autocomplete.css" hash="e1efb0a6e3da2b6ac201dc98c585aec8"/></dir><dir name="images"><file name="indicator.gif" hash="14c56c5a40e61aea738e46b66d4d8c90"/></dir><dir name="js"><file name="jquery-1.9.1.min.js" hash="663628f795cb62444143fde1ebdf2b5b"/><file name="jquery-ui-1.10.3.custom.min.js" hash="ca78f74e4ebf73b646c14f7803031e48"/><file name="noconflict.js" hash="b7acb127eceaaa67ac1597fafdd85000"/><file name="office_pickup.js" hash="fb0e225b5e03e192670c0c0a62b4aa54"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="speedy"><dir name="css"><file name="hideEditAddress.css" hash="1b03b3bf871c23565428454442c88cad"/><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="adffefb9419589d6b897a81877e85e42"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="5a6524e1e6c434435238b5c93e583b6f"/><file name="ui-bg_flat_10_000000_40x100.png" hash="3d978d04a04f319ce2412b1c11afa926"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="bb29642d42ead99b3f719a1c7c838026"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="dc52f3b6718f318deb7813c5115137c5"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="e25e9547ddaa4fad97741b252ba9f800"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="661db0dc3da9538d25ffd010dc514751"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="d78652f40e0c1f0281988aacd8269833"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="3d9bb8f4d52f22fd5d494e87518766c0"/><file name="ui-icons_222222_256x240.png" hash="a1b3887a86cf1791f23c0b53b4d3585f"/><file name="ui-icons_228ef1_256x240.png" hash="73044fed6bab2c5ed02eed93b7d3adaa"/><file name="ui-icons_ef8c08_256x240.png" hash="1eec256e4f7b8324e619aae36ecfbfbd"/><file name="ui-icons_ffd27a_256x240.png" hash="c1a79bd65be08aa2be391cba2321f448"/><file name="ui-icons_ffffff_256x240.png" hash="e3f4748b19b87aadaa924d85f0882432"/></dir><file name="jquery-ui-1.10.2.custom.min.css" hash="63a7972fe14211955df1b5631d2bfba1"/><file name="jquery.autocomplete.css" hash="e1efb0a6e3da2b6ac201dc98c585aec8"/></dir><dir name="images"><file name="indicator.gif" hash="03ce3dcc84af110e9da8699a841e5200"/></dir><dir name="js"><file name="jquery-1.9.1.min.js" hash="ba714fde311a118967b9d8cb017c81f6"/><file name="jquery-ui-1.10.2.custom.min.js" hash="34f617d6fa9771c9cec61e9f6b729cf4"/><file name="noconflict.js" hash="e2060c4e5e5955c824723b13a212d3ec"/><file name="office_pickup.js" hash="dfbb5d0f546be2d7c64fa3393ab4a898"/><file name="validateAddress.js" hash="59a74c07abb149a42038bc16573074ef"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.7.0.2</min><max>1.9.2.4</max></package><extension><name>soap</name><min></min><max></max></extension><extension><name>curl</name><min></min><max></max></extension><extension><name>openssl</name><min></min><max></max></extension></required></dependencies>
18
  </package>