> ## Documentation Index
> Fetch the complete documentation index at: https://doc.sensolus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation advice for sea containers

> Installation advice for sea containers

export const HeaderBadge = ({type, checkDms = false}) => {
  function addGroupBadge(h1Id) {
    const h1Element = document.getElementById(h1Id);
    if (!h1Element) {
      console.error(`Element with ID "${h1Id}" not found`);
      return;
    }
    if (h1Element.querySelector('.header-badge')) {
      console.warn('Header badge already exists on this element');
      return;
    }
    const badge = document.createElement('span');
    badge.className = 'header-badge';
    var badgeText;
    var badgeColor;
    switch (type) {
      case 'public':
        badgeText = 'Public';
        badgeColor = '#858585ff';
        break;
      case 'end-user':
        badgeText = 'End-User';
        badgeColor = '#0071a1';
        break;
      case 'multi-org':
        badgeText = 'Multi-Org';
        badgeColor = '#0071a1';
        break;
      case 'partner':
        badgeText = 'Partner';
        badgeColor = '#0071a1';
        break;
      case 'partner-pricing-eu':
        badgeText = 'Partner-EU';
        badgeColor = '#0071a1';
        break;
      case 'partner-pricing-us':
        badgeText = 'Partner-US';
        badgeColor = '#0071a1';
        break;
      case 'partner-pricing-world':
        badgeText = 'Partner-World';
        badgeColor = '#0071a1';
        break;
      case 'sensolus-internal':
        badgeText = 'Sensolus only';
        badgeColor = '#ffa858';
        break;
      default:
        badgeText = type;
        badgeColor = '#ffa858';
    }
    badge.textContent = badgeText;
    badge.style.cssText = `
        background-color: ${badgeColor};
        color: white;
        padding: 0.3em 0.8em 0.3em 0.8em;
        border-radius: 6px;
        font-size: 0.4em;
        margin-left: 20px;
        vertical-align: middle;
    `;
    h1Element.appendChild(badge);
  }
  function checkDocumentationServerAccess(type) {
    fetch('https://cloud.sensolus.com/documentation/user', {
      method: 'GET',
      headers: {
        'Accept': 'application/json'
      },
      credentials: 'include'
    }).then(response => {
      if (!response.ok) {
        console.error('Could not fetch documentation server user:', response);
      }
      return response.json();
    }).then(user => {
      const compatibleGroups = {
        "NORMAL": ["end-user", "public"],
        "PUBLIC": ["public"],
        "PARTNER": ["partner", "public", "end-user", "multi-org"],
        "MULTI_ORG": ["multi-org", "public", "end-user"],
        "SYSTEM": ["public", "end-user", "multi-org", "partner", "sensolus-internal"]
      };
      const allowedGroups = compatibleGroups[user.orgType] || [];
      const compatiblePriceListGroups = {
        "EU": ["partner-pricing-eu"],
        "US": ["partner-pricing-us"],
        "WORLD": ["partner-pricing-eu", "partner-pricing-us", "partner-pricing-world"]
      };
      allowedGroups.push(...compatiblePriceListGroups[user.orgType === "SYSTEM" ? "WORLD" : user.priceList] || []);
      if (!allowedGroups.includes(type)) {
        if (user.orgType === 'PUBLIC') {
          window.location.href = '/login?redirect=' + encodeURIComponent(window.location.pathname);
        } else {
          window.location.href = '/logout';
        }
      }
      addGroupBadge("page-title");
    }).catch(error => {
      console.error('Could not fetch documentation server user:', error);
      addGroupBadge("page-title");
    });
  }
  useEffect(() => {
    console.info("adding badge");
    addGroupBadge("page-title");
  });
  useEffect(() => {
    console.info("checking server access for type" + type);
    if (type && type !== 'public' && checkDms) {
      checkDocumentationServerAccess(type);
    }
  }, [type]);
  return <></>;
};

<HeaderBadge type={'public'} checkDms={false} />

Optimal installation of a tracker on an asset is very important for the optimal working of the tracking solution.

Good installation prolongs the battery lifetime of the tracker, good installation transmits information from the tracker faster to the Sensolus platform, good installation gives more accurate location information,...

<AccordionGroup>
  <Accordion title="Installation advice for sea containers (pdf)" icon="file">
    **Description**: <br />
    **Access level**: public<br />
    **Reference**: SDOC-498608282-1381<br />
    **Download**:  [PDF](https://cloud.sensolus.com/documentation/dms/SDOC-498608282-1381)

    <iframe src="https://cloud.sensolus.com/documentation/dms/SDOC-498608282-1381?viewer=true" style={{width: '100%', height: '881px', border: 'none', margin: 0, padding: 0}} />

    <div style={{display: "none"}} data-pdf-text="true">
      Installation advice for sea containers
      [www.sensolus.com](http://www.sensolus.com) | [info@sensolus.com](mailto:info@sensolus.com)
      February 2025
      Tracker installation
      Make sure the tracker is not fully
      surrounded by metal parts, as
      this blocks the signal.
      Protect the tracker by using the
      cooler unit\&#39;s shape if possible.
      Place the tracker as high as
      possible on the asset.
      Ensure the tracker has a clear
      view of the sky.
      Do\&#39;s
      Don\&#39;ts
      Install the tracker as high as possible
      On moving parts (lids, doors)
      Vertical installation if possible
      Close to forklift pick up holes
      Clear view on the sky
      Under the stillage (bad signal)
      Use asset’s cavaties to install the tracker
      On the very outside where the tracker might get hit by other
      equipment
      Install between metal ribs
      Do not install the tracker inside the container

      Installation advice for sea containers
      [www.sensolus.com](http://www.sensolus.com) | [info@sensolus.com](mailto:info@sensolus.com)
      February 2025
      Safety advice – device subjected to strong mechanical impact
      Risk of delayed battery failure and chemical hazard
      If a device has been hit, crushed, or struck by a heavy object (for example a forklift, container, pallet, or falling load), the
      internal components and battery may be damaged even if no external damage is visible. Such damage can result in delayed
      overheating, leakage, or failure.
      If a device has been subjected to a strong mechanical impact, the following mandatory safety actions must be taken:
      \#
      Action
      Details
      1
      Do not touch the device
      Do not move, lift, open, shake, or inspect the
      device immediately after the impact. Internal
      damage may cause delayed reactions.
      2
      Keep a minimum safety distance
      Maintain a clear distance of at least 5 meters
      from the device. Keep all personnel away
      during this period.
      3
      Wait at least 10 minutes
      The device must remain untouched and
      undisturbed for a minimum of 10 minutes
      following the impact. This waiting time
      allows potential delayed thermal or chemical
      reactions to become evident.
      4
      Observe from a safe distance
      Watch for warning signs: smoke, vapor, or
      unusual odor; heat generation; fluid leakage;
      hissing, cracking, or popping noises.
      5
      After the waiting period
      If any abnormal condition is observed,
      isolate the area immediately and notify
      responsible safety or supervisory personnel.
      The device must be quarantined and
      handled according to battery safety and
      disposal procedures. The device must not be
      used.
      A device may appear undamaged and still be unsafe. Normal operation after impact does NOT mean the device is safe.
      Failure to follow this safety advice may result in serious injury, fire, or chemical exposure.
    </div>
  </Accordion>
</AccordionGroup>
