Доставка угля для кальяна — глобальная доставка премиальных брикетов кокосового угля прямо с завода

Быстрая, надежная, гарантированная и застрахованнаядоставка
Полностьюсертифицированный древесный уголь
из Индонезии в 50+ стран мира.

Мы занимаемся всей экспортной логистикой, оформлением документации и морским страхованием, чтобы обеспечить Вам уголь для кальяна безопасно и легально прибыл в порт назначения

Лицензированный, проверенный на заводе, сертифицированный, зарегистрированный и одобренный производитель
Лицензированный, проверенный на заводе, сертифицированный, зарегистрированный и одобренный производитель
Прямое бронирование с MSC, Maersk, CMA CGM и другими судоходными линиями
Прямое бронирование с MSC, Maersk, CMA CGM и другими судоходными линиями
Поставки застрахованы и гарантированы по качеству независимой лабораторией
Поставки застрахованы и гарантированы по качеству независимой лабораторией

Калькулятор стоимости доставки древесного угля для кальяна

Онлайн проверка цен в реальном времени на стоимость перевозки древесного угля из скорлупы кокосового ореха

/* — Base Styles (All CSS is self-contained) — */ :root { —color-primary: #0a5fcf; /* A nice blue */ —color-primary-dark: #084ca8; —color-light-gray: #f4f7f6; —color-medium-gray: #e0e4e2; —color-dark-gray: #5c6a65; —color-text: #2c3e50; —color-white: #ffffff; —color-red: #e74c3c; —color-red-light: #fdeded; —color-green: #27ae60; /* Green for 40ft note */ —shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 5px 10px -6px rgba(0, 0, 0, 0.1); —border-radius: 12px; } /* To prevent conflicts with your WordPress theme, we’ll scope all styles to the calculator’s container. */ .shipping-calculator-container * { box-sizing: border-box; } .shipping-calculator-container { color: var(—color-text); line-height: 1.6; padding: 20px; } /* — Main Layout — */ .shipping-calculator-container .container { max-width: 600px; width: 100%; margin: auto; } .shipping-calculator-container .calculator-card { background-color: var(—color-light-gray); border-radius: var(—border-radius); box-shadow: var(—shadow); padding: 24px; width: 100%; } /* — Typography — */ .shipping-calculator-container h1 { font-size: 28px; font-weight: 700; text-align: center; margin-bottom: 32px; color: var(—color-text); } .shipping-calculator-container h2 { font-size: 18px; font-weight: 600; color: var(—color-text); margin-bottom: 12px; display: flex; align-items: center; } /* Numbered steps */ .shipping-calculator-container h2::before { content: attr(data-step); display: inline-flex; justify-content: center; align-items: center; width: 24px; height: 24px; font-size: 14px; font-weight: 700; color: var(—color-white); background-color: var(—color-primary); border-radius: 50%; margin-right: 10px; } /* — Form Elements — */ .shipping-calculator-container .form-step { margin-bottom: 28px; } /* Radio Buttons (Container Type) */ .shipping-calculator-container .radio-button-group { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .shipping-calculator-container .radio-button-label { display: block; background-color: var(—color-white); border: 2px solid var(—color-medium-gray); border-radius: var(—border-radius); padding: 20px 16px; text-align: center; font-size: 18px; font-weight: 600; color: var(—color-dark-gray); cursor: pointer; transition: all 0.2s ease; position: relative; } .shipping-calculator-container .radio-button-label:hover { border-color: var(—color-primary); color: var(—color-primary); } /* Hide the actual radio button */ .shipping-calculator-container input[type=»radio»] { display: none; } /* Checked state for radio button */ .shipping-calculator-container input[type=»radio»]:checked + .radio-button-label { border-color: var(—color-primary); background-color: #f0f6ff; color: var(—color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } /* NEW: Tonnage Note (under radio buttons) */ .shipping-calculator-container .tonnage-note { font-size: 14px; font-weight: 600; text-align: center; margin-top: 10px; min-height: 1.5em; /* Reserve space */ transition: color 0.2s ease; } .shipping-calculator-container .tonnage-note-20ft { color: var(—color-primary); } .shipping-calculator-container .tonnage-note-40ft { color: var(—color-green); } /* Select Dropdowns */ .shipping-calculator-container .select-wrapper { position: relative; } .shipping-calculator-container select { width: 100%; padding: 16px 40px 16px 16px; font-size: 16px; background-color: var(—color-white); border: 1px solid var(—color-medium-gray); border-radius: var(—border-radius); color: var(—color-text); -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .shipping-calculator-container select:hover { border-color: var(—color-dark-gray); } .shipping-calculator-container select:focus { outline: none; border-color: var(—color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } .shipping-calculator-container select:disabled { background-color: var(—color-light-gray); color: var(—color-dark-gray); cursor: not-allowed; opacity: 0.7; } /* Custom dropdown arrow */ .shipping-calculator-container .select-wrapper::after { content: ‘▼’; font-size: 12px; color: var(—color-dark-gray); position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; } /* — Searchable Dropdown — */ .shipping-calculator-container .searchable-dropdown { position: relative; } .shipping-calculator-container #country-search { width: 100%; padding: 16px 40px 16px 16px; font-size: 16px; background-color: var(—color-white); border: 1px solid var(—color-medium-gray); border-radius: var(—border-radius); color: var(—color-text); transition: border-color 0.2s ease, box-shadow 0.2s ease; } .shipping-calculator-container #country-search:hover { border-color: var(—color-dark-gray); } .shipping-calculator-container #country-search:focus { outline: none; border-color: var(—color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } .shipping-calculator-container #country-search:disabled { background-color: var(—color-light-gray); color: var(—color-dark-gray); cursor: not-allowed; opacity: 0.7; } .shipping-calculator-container .dropdown-content { display: none; /* Hidden by default */ position: absolute; top: 100%; left: 0; right: 0; z-index: 10; background-color: var(—color-white); border: 1px solid var(—color-medium-gray); border-top: none; border-radius: 0 0 var(—border-radius) var(—border-radius); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.07); max-height: 200px; overflow-y: auto; } .shipping-calculator-container .dropdown-content.visible { display: block; } .shipping-calculator-container .dropdown-item { padding: 12px 16px; cursor: pointer; font-size: 16px; color: var(—color-text); } .shipping-calculator-container .dropdown-item:hover { background-color: #f0f6ff; color: var(—color-primary); } .shipping-calculator-container .dropdown-item.no-results { padding: 12px 16px; font-style: italic; color: var(—color-dark-gray); cursor: default; } /* — End Searchable Dropdown — */ /* Main Search Button */ .shipping-calculator-container #search-button { width: 100%; background-color: var(—color-primary); color: var(—color-white); font-size: 18px; font-weight: 700; padding: 18px; border: none; border-radius: var(—border-radius); cursor: pointer; transition: background-color 0.2s ease, box-shadow 0.2s ease; display: flex; justify-content: center; align-items: center; margin-top: 8px; /* Added margin to give space */ } .shipping-calculator-container #search-button:hover:not(:disabled) { background-color: var(—color-primary-dark); box-shadow: 0 4px 12px -2px rgba(10, 95, 207, 0.3); } .shipping-calculator-container #search-button:disabled { background-color: var(—color-medium-gray); cursor: not-allowed; opacity: 0.8; } /* — Loader / Spinner — */ .shipping-calculator-container .spinner { display: none; /* Hidden by default */ width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: var(—color-white); border-radius: 50%; animation: spin 0.8s linear infinite; } /* Spinner for dropdowns */ .shipping-calculator-container .spinner-inline { width: 20px; height: 20px; border: 3px solid var(—color-medium-gray); border-top-color: var(—color-primary); position: absolute; right: 16px; /* Inside the input */ top: 50%; transform: translateY(-50%); display: none; /* JS will show this */ } .shipping-calculator-container #search-button.loading .spinner { display: block; } .shipping-calculator-container #search-button.loading #search-button-text { display: none; } .shipping-calculator-container .select-wrapper.loading .spinner-inline, .shipping-calculator-container .searchable-dropdown.loading .spinner-inline { display: block; } @keyframes spin { to { transform: rotate(360deg); } } /* — Results Area — */ .shipping-calculator-container #results-container { display: none; /* Hidden by default */ padding: 20px; border-radius: var(—border-radius); background-color: var(—color-light-gray); margin-top: 28px; border: 1px solid var(—color-medium-gray); } .shipping-calculator-container #results-container.visible { display: block; } .shipping-calculator-container #results-container h3 { font-size: 20px; font-weight: 700; color: var(—color-text); margin-bottom: 16px; } /* Style for loading message */ .shipping-calculator-container #loading-message { font-size: 18px; font-weight: 600; color: var(—color-primary); text-align: center; margin-bottom: 0; /* Remove margin when it’s the only thing */ min-height: 24px; /* prevent layout shift */ } .shipping-calculator-container .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; font-size: 16px; } .shipping-calculator-container .result-row + .result-row { border-top: 1px dashed var(—color-medium-gray); } .shipping-calculator-container .result-row .label { color: var(—color-dark-gray); } .shipping-calculator-container .result-row .value { font-weight: 600; color: var(—color-text); } .shipping-calculator-container .result-divider { border-top: 2px solid var(—color-medium-gray); margin: 12px 0; } .shipping-calculator-container .result-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; } .shipping-calculator-container .result-total .label { font-size: 18px; font-weight: 600; color: var(—color-text); } .shipping-calculator-container .result-total .value { font-size: 32px; font-weight: 700; color: var(—color-primary); } /* Style for price validity */ .shipping-calculator-container .price-validity-note { text-align: center; margin-top: 16px; font-size: 14px; color: var(—color-dark-gray); } /* Error state */ .shipping-calculator-container #results-container.error { background-color: var(—color-red-light); border: 1px solid var(—color-red); } .shipping-calculator-container #results-container.error h3 { color: var(—color-red); } .shipping-calculator-container #results-container.error p { color: #c0392b; font-weight: 500; } /* — Mobile Responsiveness — */ @media (max-width: 640px) { .shipping-calculator-container { padding: 10px; } .shipping-calculator-container .calculator-card { padding: 20px; } .shipping-calculator-container h1 { font-size: 24px; margin-bottom: 24px; } .shipping-calculator-container h2 { font-size: 16px; } .shipping-calculator-container .radio-button-label { font-size: 16px; padding: 16px 12px; } .shipping-calculator-container select, .shipping-calculator-container #search-button, .shipping-calculator-container #country-search { font-size: 16px; padding-top: 16px; padding-bottom: 16px; } .shipping-calculator-container .result-total .label { font-size: 16px; } .shipping-calculator-container .result-total .value { font-size: 28px; } }

Select Container Type

Select Your Country

Select Port

Please select a country first
// We wrap the entire script in a function to avoid conflicts // with other scripts on your WordPress site. (function() { // — !!! IMPORTANT !!! — // You MUST update this URL to the full, absolute path // where your api2.php file is hosted. const API_URL = ‘https://id.charcoal.pro/admin/shipping/api2.php’; // — /IMPORTANT — // Get references to all our interactive elements // We scope the search to our container to be safe const calculatorInstance = document.querySelector(‘.shipping-calculator-container’); if (!calculatorInstance) { console.error(«Shipping Calculator container not found!»); return; } const containerTypeGroup = calculatorInstance.querySelector(‘#container-type-group’); const countryDropdownWrapper = calculatorInstance.querySelector(‘#country-dropdown-wrapper’); const countrySearchInput = calculatorInstance.querySelector(‘#country-search’); const countryList = calculatorInstance.querySelector(‘#country-list’); const countryLoader = calculatorInstance.querySelector(‘#country-loader’); const portSelect = calculatorInstance.querySelector(‘#port-select’); const searchButton = calculatorInstance.querySelector(‘#search-button’); const resultsContainer = calculatorInstance.querySelector(‘#results-container’); const portWrapper = calculatorInstance.querySelector(‘#port-wrapper’); const portLoader = calculatorInstance.querySelector(‘#port-loader’); const searchButtonText = calculatorInstance.querySelector(‘#search-button-text’); const searchButtonLoader = calculatorInstance.querySelector(‘#search-button-loader’); // NEW: Get references to both tonnage notes const tonnageNote20ft = calculatorInstance.querySelector(‘#tonnage-note-20ft’); const tonnageNote40ft = calculatorInstance.querySelector(‘#tonnage-note-40ft’); // — State Variables — let countriesLoaded = false; let allCountries = []; // Stores the full list of countries let selectedCountry = «»; // Stores the chosen country let messageInterval = null; /** * Renders the list of countries in the custom dropdown. */ function renderCountryList(countries) { countryList.innerHTML = »; // Clear previous results if (countries.length === 0) { countryList.innerHTML = ‘

Тарифы обновляются еженедельно и подтверждаются индивидуально. При желании Вы можете воспользоваться услугами собственного экспедитора.

Указанные выше цены включают морскую перевозку из Индонезии в Ваш порт, отслеживание от фабрики до порта погрузки (POL Semarang), THC, экспортные документы, форму DG, термоодеяло, Vanning, COO и BL. В принципе, сюда входят все расходы до Вашего порта. Вы можете рассчитать больше направлений для доставки угля для кальяна.

Иконка контейнеровоза и грузовика

Наша фабрика по производству древесного угля полностью лицензирована и сертифицирована, а также зарегистрирована всеми основными судоходными линиями для экспорта и доставки угля для кальяна из Индонезии во все страны мира.

Мы еженедельно экспортируем угольные брикеты из кокосовой скорлупы на Ближний Восток (Саудовская Аравия, Ливан, Кувейт, ОАЭ, Ирак), в Европу (Германия, Голландия, Бельгия, Великобритания, Польша, Чехия, Греция, Турция, Литва), США, Канаду, Австралию, Россию, Казахстан, Узбекистан, Таджикистан, Грузию, Азербайджан, Тайвань, Южную Корею, Кот-д’Ивуар и другие страны.

Что включают в себя условия и стоимость доставки?

Наша цена CIF/FOB включает:

  • Океанские перевозки
  • Автоперевозки с завода в порт
  • Терминальная обработка в порту погрузки (THC POL)
  • Сертификат происхождения (COO)
  • Хранение и обработка в порту перед отправкой
  • Сертификат анализа (COA)

В основном, это CIF цена, включающая все расходы от нашей фабрики до порта назначения.

Все расходы в Вашем порту, таможенное оформление в Вашем порту и обработка контейнера — на Вашей стороне.

Что Вы (как импортер) должны заплатить?

Мы продаем наш уголь для кальяна на условиях EXW, FOB, CNF и CIF (согласно Incoterms 2020).

Как фабрика, мы не можем заниматься DDP или таможенным оформлением в Вашей стране. Но мы позаботимся обо всех экспортных документах и пошлинах на нашей стороне в Индонезии.

Ввозные пошлины в Вашу страну и местную доставку должен организовать Ваш таможенный брокер — это будет дешевле и проще для Вас.

Прежде чем сделать заказ, Вам необходимо найти таможенного брокера в Вашей стране, который оформит всю импортную документацию, налог на импорт, обработку в порту назначения и доставку на Ваш склад.

В большинстве стран уголь для кальяна является легальным и легко импортируется без каких-либо специальных лицензий.

Ваш брокер возьмет на себя оплату местных импортных пошлин на уголь для кальяна и любых портовых сборов в пункте назначения, которые не входят в стоимость нашей перевозки угля.

Время доставки угля для кальяна до Вашего порта

Примерное время транзита из Индонезии (порт Семаранг / Сурабая)

/* — Base Styles (All CSS is self-contained) — */ :root { —tt-color-primary: #0a5fcf; /* Blue */ —tt-color-primary-dark: #084ca8; —tt-color-light-gray: #f4f7f6; —tt-color-medium-gray: #e0e4e2; —tt-color-dark-gray: #5c6a65; —tt-color-text: #2c3e50; —tt-color-white: #ffffff; —tt-color-red: #e74c3c; —tt-color-red-light: #fdeded; —tt-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 5px 10px -6px rgba(0, 0, 0, 0.1); —tt-border-radius: 12px; } /* Scope all styles to this container to prevent conflicts with WordPress themes */ .transit-time-container * { box-sizing: border-box; } .transit-time-container { color: var(—tt-color-text); line-height: 1.6; padding: 20px; } /* — Main Layout — */ .transit-time-container .container { max-width: 800px; /* Wider container for the table */ width: 100%; margin: auto; } .transit-time-container .calculator-card { background-color: var(—tt-color-light-gray); border-radius: var(—tt-border-radius); box-shadow: var(—tt-shadow); padding: 24px; width: 100%; } /* — Typography — */ .transit-time-container h1 { font-size: 28px; font-weight: 700; text-align: center; margin-bottom: 32px; color: var(—tt-color-text); } .transit-time-container h2 { font-size: 18px; font-weight: 600; color: var(—tt-color-text); margin-bottom: 12px; display: flex; align-items: center; } /* — Form Elements — */ .transit-time-container .form-step { margin-bottom: 28px; } .transit-time-container .search-form-row { display: grid; grid-template-columns: 2fr 2fr 1fr; /* country | port | button */ gap: 16px; align-items: end; } /* — Select Dropdown Styles — */ .transit-time-container .select-wrapper { position: relative; } .transit-time-container .select-wrapper.loading .spinner-inline { display: block; } .transit-time-container select { width: 100%; padding: 16px 40px 16px 16px; font-size: 16px; background-color: var(—tt-color-white); border: 1px solid var(—tt-color-medium-gray); border-radius: var(—tt-border-radius); color: var(—tt-color-text); -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .transit-time-container select:hover { border-color: var(—tt-color-dark-gray); } .transit-time-container select:focus { outline: none; border-color: var(—tt-color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } .transit-time-container select:disabled { background-color: var(—tt-color-light-gray); color: var(—tt-color-dark-gray); cursor: not-allowed; opacity: 0.7; } /* Custom dropdown arrow */ .transit-time-container .select-wrapper::after { content: ‘▼’; font-size: 12px; color: var(—tt-color-dark-gray); position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; } /* — End Select Dropdown Styles — */ /* — Search Button — */ .transit-time-container #search-port-button { width: 100%; background-color: var(—tt-color-primary); color: var(—tt-color-white); font-size: 16px; font-weight: 700; padding: 16px; border: none; border-radius: var(—tt-border-radius); cursor: pointer; transition: background-color 0.2s ease, box-shadow 0.2s ease; display: flex; justify-content: center; align-items: center; } .transit-time-container #search-port-button:hover:not(:disabled) { background-color: var(—tt-color-primary-dark); box-shadow: 0 4px 12px -2px rgba(10, 95, 207, 0.3); } .transit-time-container #search-port-button:disabled { background-color: var(—tt-color-medium-gray); cursor: not-allowed; opacity: 0.8; } /* — Loader / Spinner — */ .transit-time-container .spinner-inline { width: 20px; height: 20px; border: 3px solid var(—tt-color-medium-gray); border-top-color: var(—tt-color-primary); position: absolute; right: 16px; /* Inside the input */ top: 50%; transform: translateY(-50%); display: none; /* JS will show this */ animation: tt-spin 0.8s linear infinite; } .transit-time-container #search-port-button .spinner { display: none; /* Hidden by default */ width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: var(—tt-color-white); border-radius: 50%; animation: tt-spin 0.8s linear infinite; } .transit-time-container #search-port-button.loading .spinner { display: block; } .transit-time-container #search-port-button.loading #search-port-button-text { display: none; } @keyframes tt-spin { to { transform: rotate(360deg); } } /* — Results Area — */ .transit-time-container #results-container { margin-top: 28px; } .transit-time-container #results-table { width: 100%; border-collapse: collapse; background-color: var(—tt-color-white); border-radius: var(—tt-border-radius); overflow: hidden; /* For border-radius */ box-shadow: var(—tt-shadow); } .transit-time-container #results-table th, .transit-time-container #results-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(—tt-color-medium-gray); } .transit-time-container #results-table th { background-color: var(—tt-color-light-gray); font-size: 14px; font-weight: 600; color: var(—tt-color-dark-gray); text-transform: uppercase; } .transit-time-container #results-table td { font-size: 15px; color: var(—tt-color-text); } .transit-time-container #results-table tbody tr:last-child td { border-bottom: none; } .transit-time-container #results-table tbody tr:hover { background-color: #f0f6ff; } .transit-time-container #results-table .col-port { font-weight: 600; color: var(—tt-color-primary); } .transit-time-container #results-table .col-transit { font-weight: 600; } .transit-time-container #results-table .col-eta { font-weight: 600; } /* Error state */ .transit-time-container #error-message { display: none; /* Hidden by default */ padding: 20px; border-radius: var(—tt-border-radius); background-color: var(—tt-color-red-light); border: 1px solid var(—tt-color-red); color: #c0392b; font-weight: 500; margin-top: 20px; } .transit-time-container #error-message.visible { display: block; } /* Footer Note */ .transit-time-container .results-footer-note { font-size: 14px; color: var(—tt-color-dark-gray); margin-top: 16px; text-align: center; min-height: 1.5em; /* Reserve space */ transition: color 0.3s ease; } .transit-time-container .results-footer-note.loading { font-weight: 600; color: var(—tt-color-primary); } /* — Mobile Responsiveness — */ @media (max-width: 768px) { .transit-time-container .search-form-row { grid-template-columns: 1fr; /* Stack on mobile */ } .transit-time-container #search-port-button { padding-top: 16px; padding-bottom: 16px; font-size: 16px; } /* Responsive Table */ .transit-time-container #results-table thead { display: none; /* Hide table headers */ } .transit-time-container #results-table tr { display: block; margin-bottom: 16px; border-radius: var(—tt-border-radius); border: 1px solid var(—tt-color-medium-gray); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); } .transit-time-container #results-table td { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px dashed var(—tt-color-medium-gray); padding: 12px 16px; font-size: 14px; } .transit-time-container #results-table td:last-child { border-bottom: none; } .transit-time-container #results-table td::before { content: attr(data-label); /* Use data-label for header */ font-weight: 600; color: var(—tt-color-dark-gray); margin-right: 10px; text-transform: uppercase; font-size: 13px; } .transit-time-container #results-table .col-port { font-size: 16px; /* Emphasize port name */ } } @media (max-width: 640px) { .transit-time-container { padding: 10px; } .transit-time-container .calculator-card { padding: 20px; } .transit-time-container h1 { font-size: 24px; margin-bottom: 24px; } .transit-time-container h2 { font-size: 16px; } }

Search for a Port

Please wait, loading list countries…
Select a country first
Country Port Name ETD Departure Transit Time (Days) ETA Arrival
// We wrap the entire script in a function to avoid conflicts // with other scripts on your WordPress site. (function() { // — !!! IMPORTANT !!! — // You MUST update this URL to the full, absolute path // where your new api3.php file is hosted. const API_URL = ‘https://id.charcoal.pro/admin/shipping/api3.php’; // — /IMPORTANT — // Get references to all our interactive elements const calculatorInstance = document.querySelector(‘.transit-time-container’); if (!calculatorInstance) { console.error(«Transit Time Calculator container not found!»); return; } const countryWrapper = calculatorInstance.querySelector(‘#country-wrapper’); const countrySelect = calculatorInstance.querySelector(‘#country-select’); const portWrapper = calculatorInstance.querySelector(‘#port-wrapper’); const portSelect = calculatorInstance.querySelector(‘#port-select’); const searchPortButton = calculatorInstance.querySelector(‘#search-port-button’); const searchPortButtonText = calculatorInstance.querySelector(‘#search-port-button-text’); const resultsTableBody = calculatorInstance.querySelector(‘#results-table-body’); const resultsFooter = calculatorInstance.querySelector(‘#results-footer’); const errorMessage = calculatorInstance.querySelector(‘#error-message’); // — State Variables — let hasEstimatedPorts = false; // To track if we need the footer note let defaultFooterMessage = «Please search for a port to see the schedule.»; let loadingFooterMessage = «Please wait…we are checking fastest shipping schedule for shisha charcoal»; /** * Fetches the list of all countries. */ async function loadCountries() { countryWrapper.classList.add(‘loading’); countrySelect.disabled = true; try { const response = await fetch(`${API_URL}?mode=countries`); if (!response.ok) throw new Error(‘Failed to fetch country list’); const countries = await response.json(); countrySelect.innerHTML = ‘— Select a Country —‘; countries.forEach(country => { const option = document.createElement(‘option’); option.value = country; option.textContent = country; countrySelect.appendChild(option); }); countrySelect.disabled = false; } catch (error) { console.error(‘Failed to load countries:’, error); showError(‘Could not load country list. Please check API_URL or server.’); countrySelect.innerHTML = ‘Error loading countries’; } finally { countryWrapper.classList.remove(‘loading’); } } /** * Fetches the list of ports for a specific country. */ async function loadPorts(country) { portWrapper.classList.add(‘loading’); portSelect.disabled = true; portSelect.innerHTML = ‘Loading ports…’; try { const response = await fetch(`${API_URL}?country=${encodeURIComponent(country)}`); if (!response.ok) throw new Error(‘Failed to fetch port list’); const ports = await response.json(); portSelect.innerHTML = ‘— Select a Port —‘; ports.forEach(port => { const option = document.createElement(‘option’); option.value = port; option.textContent = port; portSelect.appendChild(option); }); portSelect.disabled = false; } catch (error) { console.error(‘Failed to load ports:’, error); showError(`Could not load ports for ${country}.`); portSelect.innerHTML = ‘Error loading ports’; } finally { portWrapper.classList.remove(‘loading’); } } /** * Fetches the transit time details for a specific port. * Returns true on success, false on failure. */ async function getTransitTime(port, options = 1) { // Determine if this is a multi-option search const isMultiOptionSearch = options === 5; if (isMultiOptionSearch) { setButtonLoading(true); } hideError(); // Build the API URL let url = `${API_URL}?transitport=${encodeURIComponent(port)}`; if (isMultiOptionSearch) { url += `&options=5`; } try { const response = await fetch(url); const data = await response.json(); if (!response.ok) { throw new Error(data.message || ‘Failed to fetch transit time’); } if (data && data.length > 0) { // This is the key change: Loop through ALL results data.forEach(option => { addResultToTable(option); }); return true; // Success } else { throw new Error(`No transit data found for ${port}.`); } } catch (error) { console.error(‘Failed to get transit time:’, error.stack); // Only show error toast for user searches, not default load if (isMultiOptionSearch) { showError(error.message); } else { console.error(`Failed to load default port ${port}: ${error.message}`); } return false; // Failure } finally { if (isMultiOptionSearch) { setButtonLoading(false); } } } /** * Adds a single result row to the table. * This function now appends, it does not clear. */ function addResultToTable(data) { const row = document.createElement(‘tr’); row.dataset.port = data.port; let transitTime = data.transitDays; if (data.isEstimate) { transitTime = `${data.transitDays}*`; hasEstimatedPorts = true; // Mark that this result is an estimate } // Create table cells with data-label for mobile view row.innerHTML = ` ${data.country} ${data.port} ${data.departureDate} ${transitTime} ${data.etaDate} `; resultsTableBody.appendChild(row); } /** * Fetches the default list of ports on page load. */ async function fetchDefaultPorts() { const defaultPorts = [‘Beirut’, ‘Dammam’, ‘Hamburg’, ‘New York’]; // Show loading message updateFooterNote(loadingFooterMessage, true); // We fetch the ports one by one for (const port of defaultPorts) { // We call getTransitTime with default options (1) // This will fetch and add one row per port await getTransitTime(port, 1); } // Update the footer note based on the loaded data updateFooterNote(); } /** * Updates the footer note based on table content or a specific message. */ function updateFooterNote(message = null, isLoading = false) { if (message) { // If a specific message is provided, use it resultsFooter.textContent = message; } else { // Otherwise, determine the message if (resultsTableBody.children.length === 0) { resultsFooter.textContent = defaultFooterMessage; } else if (hasEstimatedPorts) { resultsFooter.textContent = «*Shisha charcoal transit time. Contact Mr Greg (+628118797070) for details.»; } else { resultsFooter.textContent = «All dates subjected to change based on shipping lines schedule»; } } // Handle loading class if (isLoading) { resultsFooter.classList.add(‘loading’); } else { resultsFooter.classList.remove(‘loading’); } } /** * Shows an error message. */ function showError(message) { errorMessage.textContent = message; errorMessage.classList.add(‘visible’); // Hide error after 3 seconds setTimeout(() => { hideError(); }, 3000); } /** * Hides the error message. */ function hideError() { errorMessage.textContent = »; errorMessage.classList.remove(‘visible’); } /** * Toggles the loading state of the search button. */ function setButtonLoading(isLoading) { if (isLoading) { searchPortButton.disabled = true; searchPortButton.classList.add(‘loading’); } else { searchPortButton.disabled = false; searchPortButton.classList.remove(‘loading’); // Re-check if button should be enabled if (!portSelect.value) { searchPortButton.disabled = true; } } } // — Event Listeners — // When a country is selected countrySelect.addEventListener(‘change’, () => { const selectedCountry = countrySelect.value; searchPortButton.disabled = true; // Disable button if (selectedCountry) { loadPorts(selectedCountry); } else { portSelect.innerHTML = ‘Select a country first’; portSelect.disabled = true; } }); // When a port is selected portSelect.addEventListener(‘change’, () => { if (portSelect.value) { searchPortButton.disabled = false; // Enable «Search» button } else { searchPortButton.disabled = true; } }); // Search for port searchPortButton.addEventListener(‘click’, async () => { if (portSelect.value) { // Clear the table before showing the new results resultsTableBody.innerHTML = «»; hasEstimatedPorts = false; // Reset estimator updateFooterNote(loadingFooterMessage, true); // Show loading // Request 5 options const success = await getTransitTime(portSelect.value, 5); if (success) { // Update footer based on the new 5-row results updateFooterNote(); } else { // On error, clear loading and show default message updateFooterNote(defaultFooterMessage, false); } } }); // — Initial Load — function initializeCalculator() { loadCountries(); fetchDefaultPorts(); // Load the default ports on startup } initializeCalculator(); })(); // Immediately run the script

Наша фабрика расположена в Магеланг, Центральная Ява, ИндонезияПоэтому ближайший к нам порт — порт Семаранг (Tanjung Emas / IDSRG). Мы также можем отправлять товары из портов Сурабайи или Джакарты.

Какие документы предоставляются нашей фабрикой для экспорта?

Наша фабрика по производству древесного угля полностью сертифицирована и имеет все документы для экспорта угля для кальяна из Индонезии по всему миру.

Мы зарегистрированы и одобрены и можем осуществлять прямое бронирование на всех судоходных линиях, которые принимают уголь для кальяна: MSC, Maersk, CMA CGM, Vasi, Feeder Line, OOCL, PIL, Asyad Shipping, SITC, OOCL и Emirates Shipping.

логотип судоходных линий для угля для кальяна
Мы предоставляем полный комплект документов, требуемых в Вашей стране

Коносамент (B/L)

Коносамент — это основной документ, выдаваемый судоходными линиями и подтверждающий, что Ваш контейнер был принят и перевезен судном.

BL содержит информацию о Получателе (Вашей компании), Уведомлении (обычно это Ваш таможенный брокер), номере контейнера, номере пломбы контейнера, наименовании товара (уголь для кальяна код ТН ВЭД 440290), названии судна и пункте назначения.

Право собственности на BL показывает, кто является реальным владельцем товаров в контейнере.

Для всех наших отправлений мы используем телексный релиз.

Без BL Вы не сможете потребовать свой контейнер с древесным углем в порту.

пример коносамента на уголь для кальяна с судоходными линиями MSC и Maersk

Сертификат происхождения (COO)

Сертификат происхождения (COO) — это официальный документ, выданный торговой палатой Индонезии, который удостоверяет страну происхождения товара = Индонезию.

Он проверяет, где был произведен древесный уголь (Индонезия), какой компанией.

Это поможет таможенным органам нашей страны рассчитать правильные импортные пошлины, тарифы и налоги на основании торговых соглашений между Индонезией и Вашей страной.

Без COO Вы не сможете пройти таможенную очистку и получить свой уголь.

пример сертификата происхождения угля для кальяна

Упаковочный лист и счет-фактура

Счет-фактура и упаковочный лист выписываются нашей фабрикой и содержат информацию о цене угля (цене, по которой Вы его покупаете), условиях оплаты и другую важную информацию.

Упаковочный лист содержит подробную информацию о том, какой тип угля, в какой упаковке, и сколько кг каждого типа находится в контейнере.

  счет-фактура и упаковочный лист

Vanning Certificate

Вантование — это документ, выдаваемый независимым морским сюрвейером, например, Карсурином или Бекджориндо, после физического осмотра того, как уголь был погружен (вантован) в контейнер.

Он подтверждает, что контейнер упакован правильно, в соответствии с правилами, например, кодексом IMDG, груз надежно закреплен, а также предоставлены все необходимые документы и фотографии.

Этот сертификат имеет решающее значение для обеспечения безопасности и соответствия груза.

сертификат ваннинга

Для Ближнего Востока

Для большинства стран Ближнего Востока (Саудовская Аравия, ОАЭ, Кувейт, Бахрейн, Ирак, Катар, Иордания, Ливан, Оман) мы предоставляем упаковочный лист, счет-фактуру , заверенную Торговой палатой, и паллеты ISPF15 (если требуется).

образец проверки торговой палаты для сертификата происхождения древесного угля для кальяна

Для США

Для США мы также предоставляем услуги по заполнению ISF (Importer Security Filing) и декларации LACEY.

Согласно требованиям, мы делаем это как минимум за 24 часа до того, как уголь для кальяна будет погружен на судно, направляющееся в США.

  форма isf

Для Австралии

Мы предоставляем Декларацию производителя и Декларацию упаковки, требуемые Австралийским таможенным и пограничным контролем.

декларация о производстве и упаковке
Мы также предоставляем все документы для отправки в Россию, Турцию, Германию и Великобританию.

Детали груза

Начиная с 2026 года, древесный уголь из кокосовой скорлупы (уголь для кальяна) поставляется только как опасный, опасный груз

Название веществаКокосовый уголь для кальяна оптом из Индонезии
ООН Нет1361
Класс IMO4.2
IMDG Page NoКодекс INDG (с поправкой 42-24) Том 2 — Часть 3: Перечень опасных грузов, стр. 61
Packaging GroupIII
Температура вспышкиНедоступно
EMSF-A, S-J

Код ТН ВЭД: 440290

MSDS — Лист безопасности данных о материале

Логотип MSDS

Скачать MSDS для угля для кальяна

Если Вам нужна дополнительная информация о доставке нашего угля для кальяна, пожалуйста, свяжитесь с нашим экспертом по углю, Грегом Рябцевым, +62 811 879 7070 или напишите нам на export@charcoal.pro.

Как мы можем гарантировать, что Ваш уголь дойдет до Вас в хорошем состоянии?

Очистка коробок перед укладкой их в контейнер

Все коробки проходят очистку перед отправкой в контейнер, чтобы наши клиенты получали красивые и чистые коробки.

Хотя мы покрываем все наши коробки защитным пластиком, природа производства очень пыльная, поэтому если Вы храните коробки более 5 дней, они будут покрыты толстым слоем пыли.

Чтобы убедиться, что Вы получите его чистым и красивым, мы проводим дополнительную уборку перед погрузкой ящиков в контейнер.

Вакуумная герметизация Размер контейнера Термоодеяло

Мы используем вакуумное термоодеяло, которое защищает древесный уголь от влаги и перепадов температуры.

Он специально разработан под размер контейнера, чтобы защитить товары, особенно древесный уголь, от термических изменений и влаги.

Влагопоглотители с размером контейнера

Мы всегда добавляем влагопоглотители контейнерного размера (1,5 кг) для дополнительной защиты от влаги во время транспортировки и доставки.

Обычно мы добавляем 6 поглотителей влаги для 20-футовых контейнеров и 12 силикагелей для 40-футовых контейнеров.

Достаточно убедиться в том, что Ваш уголь доставляется сухим и хорошим.

Подбор персонала для работы с поддонами

Для паллет мы используем экспортные паллеты, сертифицированные по стандарту ISPM15, размером 1000×1200 мм.

Каждая паллета сертифицирована, проштампована и разрешена для доставки в США, ЕС и КСА.

Мы используем дополнительные бумажные края и пластиковую упаковку, чтобы защитить уголь во время доставки.

Гарантия и страхование

Каждый груз защищен страхованием морских перевозок от судоходных линий. Поэтому в редких случаях, если с контейнером что-то случится, Вы можете быть уверены, что все это полностью покрывается судоходными линиями.

Аудит угольной фабрики по производству кальяна от carsurin

Factory Audit

Мы полностью лицензированы и одобрены независимыми лабораториями и сюрвейерами Carsurin и Beckjorindo.

Аудит фабрики показал, что она работает в соответствии со стандартными SOP и является надежной для производства и экспорта угля для кальяна.

Очень важно, чтобы FA была одобрена судоходными линиями, если Вы не можете экспортировать или доставлять уголь с MSC, Maersk или CMA CGM.

страхование морских грузов

Страхование морских грузов для древесного угля

Страхование груза — это дополнительная услуга, которую мы используем для защиты Вашего угля во время доставки. В основном мы используем расширенную защиту MSC, которая покрывает потерю или повреждение груза вследствие:

Пожар, посадка на мель, посадка на мель, затопление, столкновение, спасение и общие средние взносы, тяжелые погодные условия, природные явления («акт божий»), повреждение от смачивания (дыра в крыше, позволяющая воде проникать внутрь), физическое повреждение груза, неправильное обращение стивидора, кражи и хищения.

Видеоролики о работе с контейнерами на нашей фабрике

Export Shisha Charcoal to Russian Federation
Export Shisha Charcoal to Beirut Lebanon
укомплектование контейнера углем для кальяна
укомплектование контейнера углем для кальяна
укомплектование контейнера углем для кальяна

Часто задаваемые вопросы (FAQ)

Могу ли я заказать или организовать доставку со своей стороны или воспользоваться услугами собственного экспедитора?

Да, если Вы уверены, что Ваша транспортная линия сможет принять уголь для кальяна к доставке, Вы можете организовать доставку самостоятельно.

В этом случае мы можем продать Вам уголь на условиях EXW basics или FOB basics.

Я проверил в Интернете и нашел гораздо более низкую стоимость доставки. Почему это возможно?

Очень часто в Интернете Вы можете найти только *океанский фрахт*, но для доставки угля для кальяна существует множество дополнительных расходов от судоходных линий, включая обработку DG и опасную обработку.

Не забывайте, что в нашу цену уже включена стоимость отслеживания груза от нашей фабрики в Магеланге до порта погрузки в Семаранге, плата за обработку на терминале, документы, экспортные расходы и другие платежи.

Могу ли я заказать LCL (Less container load)?

К сожалению, не разрешается перевозить уголь для кальяна вперемешку с другими товарами. Судоходные линии разрешают использовать только полный контейнер. Конечно, Вы можете загрузить в него всего несколько тонн, но все транспортные расходы останутся прежними и не будут зависеть от того, загрузите ли Вы полный контейнер или только его часть.

Каково минимальное количество заказа (MOQ) для доставки?

Минимальный заказ для доставки — полный контейнер. Это означает, что Вы должны заказать как минимум 20-футовый или 40-футовый контейнер.

В 20-футовый контейнер помещается до 20 тонн угля для кальяна
В 40-футовый контейнер помещается до 27,5 тонн угля для кальяна

Все наши цены рассчитаны при условии минимального заказа в 25 тонн

Могу ли я заказать уголь для кальяна разного размера/упаковки в одном контейнере?

Да, можете, при условии, что Вы соблюдаете минимальный заказ.

Вы можете заказать *несколько размеров/упаковок* с минимальным объемом *2 тонны на каждый размер/упаковку, при условии, что общий объем составляет 18+ тонн. В некоторых случаях можно заказать меньший объем.

Включены ли в Вашу цену импортные пошлины, налоги и местные портовые сборы в моей стране?

Нет, это не входит в стоимость. Но мы включаем все расходы с нашей стороны в Индонезии.
Ваш брокер будет заниматься местными импортными пошлинами на уголь для кальяна и любыми сборами в порту назначения, которые отделены от нашей стоимости перевозки угля.

Можете ли Вы доставить товар непосредственно на мой склад (DDP — Delivered Duty Paid)?

Нет, мы являемся фабрикой и не можем организовать импорт на Вашей стороне. Лучшее, что мы можем сделать, это организовать доставку на условиях CIF/CNF до Вашего порта.
Из Вашего порта Вы должны организовать это сами.

Каково общее время доставки с момента размещения заказа?

Общее время доставки с момента размещения Вами заказа состоит из двух частей
: первая — время производства, обычно 3-4 недели, и затем время доставки.

Из какого порта в Индонезии Вы осуществляете доставку?

Мы осуществляем доставку из порта Семаранг, но также возможна доставка из Сурабайи или Джакарты.

Григорий Рябцев эксперт по кокосовому углю

Меня зовут Грег Рябцев. Я отвечаю за разработку и доставку продукции.
Все вопросы по доставке Вы будете решать со мной.

Наша фабрика берет на себя полную ответственность за каждый груз от нашего места до Вашего порта. Все контейнеры застрахованы, проверены и отправляются только проверенными перевозчиками.
Ваш заказ всегда можно отследить, он полностью задокументирован и защищен.

Автор: Грег Рябцев, эксперт по древесному углю из скорлупы кокосового ореха.
Проверено: Гатот Вибово, руководитель производства и генеральный директор.
Факты проверены: Уилсон Госалим, комиссар и совладелец угольной фабрики.

Updated on: 20 февраля, 2026

Свяжитесь с нами
для оптовой продажи кокосовой скорлупы и древесного угля
для заказов и запросов по кальяну.

Поговорите с продавцами и экспертами

Интересуетесь продуктами Charcoal Pro?
Позвоните по телефону или WhatsApp, чтобы пообщаться с нашим экспертом по древесному углю

WhatsApp @ Email Telegram Посланник Instagram WeChat

Поговорите с нашими сотрудниками

Вопросы о финансах, снабжении или производстве?
Свяжитесь с нашим руководителем отдела и владельцем напрямую

Ibu Lita Admin shipping & percetakan

Администратор Доставка и печать

Лита

exim@charcoal.pro
+62 822-2439-1264

Ибу Стиви, покупка

Закупка и поставка сырья

Stefenie Trisno (Stevi)

+62 8123 5424 907

Гатот Вибово, директор и руководитель производства брикетов из кокосового угля

Руководитель производства

Гатот Вибово

production@charcoal.pro

+62 821-287-68-545

Директор фабрики по производству брикетов из кокосового угля Wilson Gosalim

Владелец фабрики

Уилсон Госалим

wilson@charcoal.pro
+62 853-2872-72-91

PT Coco Total Karbon Indonesia

Jl. Mayor Unus KM 1.5
Magelang, 56172
Центральная Ява,
Индонезия
Регистрационный номер компании (NIB) 0220001680488

Ссылка на карту Google: https://maps.app.goo.gl/1xViYkTYNsepYrXB9

Часы работы:

Фабрика: 24/7

Офис: Понедельник - пятница 08:00 - 16:00 WIB (GMT+7)

+62 (293) 718-30-08 export@charcoal.pro

We are Online