PORT TROLLEY HANOI II 15.6" BK - Port | DirectTech
Secure SSL Payment
Free Shipping over R3,450
14-Day Returns
Expert Support
Port

PORT TROLLEY HANOI II 15.6" BK

SKU: 105340
R 1 449.00
In Stock

The Port Designs Hanoi II 15.6" Trolley Case offers utmost protection to your belongings on travels. Its modern blue interior is padded for your electronics and offers a wealth of space for accessories.

Free shipping over R 3 450.00
Secure checkout
14-day returns
Expert support

Frequently Bought Together

The Port Designs Hanoi II 15.6" Trolley Case is a modern and trendy travel case. Its flexible rigid structure is offers optimal shock protection. With a padded notebook compartment that supports screen sizes of up to 15.6" and another for tablets of up to 10.1", both with hook and loop straps for fastening. This trolley case is airplane friendly and offers plenty of space for further luggage as well as a built-in accessory and stationary organiser.

Features:

  • Trolley flexible with rigid structure for optimal protection against shocks
  • Padded notebook compartment 15.6" secured with hook and loop strap
  • Dedicated protective padded pocket for tablet up to 10.1" with hook and loop strap
  • Large main compartment for clothing and personal items
  • Front pocket with built-in organizer for pens and various accessories
  • Airplane friendly: IATA format

Specifications:

  • Outer Material: 600D Polyester
  • Product Outside Size: 43.5 x 40 x 20 cm
  • Product Inside Size: 40 x 33 x 15 cm
  • Laptop Compartment Size: 38.6 x 26.7 x 2.5 cm
  • Weight: 2440g

What's in The Box:

  • Port Designs Hanoi II 15.6" Trolley Case - Black x1
Brand Port
Colour Black
Form Factor -
Interface -
Capacity -
Memory Capacity -
Screen Size -
Resolution -
Refresh Rate -
Cpu -
Cpu Socket -
Warranty 24 Months
0.0
0 reviews
Login to Review

No reviews yet. Be the first to review this product!

Related Products

Port Designs VAL D'ISERE 30L Metal Travel Suitcase
Port

Port Designs VAL D'ISERE 30L Metal Travel Suitcase

R 5 999.00

Only 2 left - order soon!

// Share product with fallback // 2026-05-22: rewritten. Old version had three bugs: // 1) Copy Link button used `this.textContent='Copied!'` which destroyed the // icon (textContent replaces everything). After clicking, the link icon // disappeared. // 2) Inline onclick handlers had nested \x27-escaped strings interpolating // `url` directly — if the URL contained a single quote the JS broke. // 3) Close button used `this.closest('div[style]').parentElement.remove()` // — fragile, depends on no inline style elsewhere in the DOM tree. // New version: build with DOM nodes, attach proper event listeners, keep the // icon, gracefully handle clipboard failure, use a held reference to close. function shareProduct() { var title = document.querySelector('.product-title').textContent; var url = window.location.href; if (navigator.share) { navigator.share({ title: title, url: url }).catch(function() {}); return; } // Fallback: show share options modal var modal = document.createElement('div'); modal.style.cssText = 'position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;'; var encoded = encodeURIComponent(url); var encodedTitle = encodeURIComponent(title); var content = document.createElement('div'); content.style.cssText = 'background:#fff;border-radius:12px;padding:24px;max-width:360px;width:100%;text-align:center;'; content.innerHTML = '

Share this product

' + '
' + ' Facebook' + ' WhatsApp' + ' Email' + '
' + '' + '
'; modal.appendChild(content); function closeModal() { if (modal.parentNode) modal.parentNode.removeChild(modal); } modal.addEventListener('click', function(e) { if (e.target === modal) closeModal(); }); content.querySelector('[data-action="close-modal"]').addEventListener('click', closeModal); var copyBtn = content.querySelector('[data-action="copy-link"]'); var copyLabel = copyBtn.querySelector('.btn-label'); copyBtn.addEventListener('click', function() { function flashLabel(text) { var prev = copyLabel.textContent; copyLabel.textContent = text; setTimeout(function() { copyLabel.textContent = prev; }, 1800); } if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(url) .then(function() { flashLabel('Copied!'); }) .catch(function() { flashLabel('Press Ctrl+C'); }); } else { // Legacy browser fallback — execCommand still works on http: contexts var ta = document.createElement('textarea'); ta.value = url; ta.style.position = 'fixed'; ta.style.opacity = '0'; document.body.appendChild(ta); ta.select(); try { document.execCommand('copy'); flashLabel('Copied!'); } catch (e) { flashLabel('Press Ctrl+C'); } document.body.removeChild(ta); } }); document.body.appendChild(modal); }
Chat with us!