PackageInterface.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * Refer to LICENSE.txt distributed with the Temando Shipping module for notice of license
  4. */
  5. namespace Temando\Shipping\Model\Shipment;
  6. /**
  7. * Temando Package Interface.
  8. *
  9. * The package data object represents one part of the shipment packages list.
  10. *
  11. * @package Temando\Shipping\Model
  12. * @author Rhodri Davies <rhodri.davies@temando.com>
  13. * @license https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  14. * @link https://www.temando.com
  15. */
  16. interface PackageInterface
  17. {
  18. const PACKAGE_ID = 'id';
  19. const TRACKING_REFERENCE = 'tracking_reference';
  20. const TRACKING_URL = 'tracking_url';
  21. const WEIGHT = 'gross_weight_value';
  22. const LENGTH = 'dimensions_length';
  23. const WIDTH = 'dimensions_width';
  24. const HEIGHT = 'dimensions_height';
  25. const ITEMS = 'items';
  26. /**
  27. * @return string
  28. */
  29. public function getPackageId();
  30. /**
  31. * @return string
  32. */
  33. public function getTrackingReference();
  34. /**
  35. * @return string
  36. */
  37. public function getTrackingUrl();
  38. /**
  39. * @return float
  40. */
  41. public function getWeight();
  42. /**
  43. * @return float
  44. */
  45. public function getLength();
  46. /**
  47. * @return float
  48. */
  49. public function getWidth();
  50. /**
  51. * @return float
  52. */
  53. public function getHeight();
  54. /**
  55. * @return PackageItemInterface[]
  56. */
  57. public function getItems();
  58. }