{"id":3485,"date":"2026-07-12T21:09:27","date_gmt":"2026-07-12T21:09:27","guid":{"rendered":"https:\/\/peshidelivery.com\/zm\/?page_id=3485"},"modified":"2026-07-12T21:14:00","modified_gmt":"2026-07-12T21:14:00","slug":"request-shipment","status":"publish","type":"page","link":"https:\/\/peshidelivery.com\/zm\/request-shipment\/","title":{"rendered":"Request Shipment"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3485\" class=\"elementor elementor-3485\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72a7ba7 e-flex e-con-boxed e-con e-parent\" data-id=\"72a7ba7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6edf872 elementor-widget elementor-widget-shortcode\" data-id=\"6edf872\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div class=\"lgb-wrap\" style=\"--lgb-accent:#f5a623\">\n\t\t\t<div class=\"lgb-card\">\n\t\t\t\t<h2 class=\"lgb-title\">Book a Shipment<\/h2>\n\t\t\t\t<p class=\"lgb-sub\">Get an instant estimate and book collection in minutes.<\/p>\n\n\t\t\t\t<div class=\"lgb-toggle\" role=\"tablist\">\n\t\t\t\t\t<button type=\"button\" class=\"lgb-tab is-on\" data-mode=\"local\">Local<\/button>\n\t\t\t\t\t<button type=\"button\" class=\"lgb-tab\" data-mode=\"international\">International<\/button>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"lgb-grid\">\n\t\t\t\t\t<div class=\"lgb-field lgb-col2\">\n\t\t\t\t\t\t<label>Service \/ rate card<\/label>\n\t\t\t\t\t\t<select id=\"lgb-rate\"><\/select>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"lgb-field\" id=\"lgb-qty-wrap\">\n\t\t\t\t\t\t<label id=\"lgb-qty-label\">Chargeable weight (kg)<\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"lgb-qty\" min=\"0\" step=\"0.01\" placeholder=\"0\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Pieces<\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"lgb-pieces\" min=\"1\" step=\"1\" value=\"1\">\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Pickup location<\/label>\n\t\t\t\t\t\t<input type=\"text\" id=\"lgb-origin\" placeholder=\"e.g. Kamwala, Lusaka\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Delivery location<\/label>\n\t\t\t\t\t\t<input type=\"text\" id=\"lgb-destination\" placeholder=\"e.g. Parklands, Kitwe\">\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"lgb-field lgb-col2 lgb-xb\" hidden>\n\t\t\t\t\t\t<label>Border crossing<\/label>\n\t\t\t\t\t\t<select id=\"lgb-border\"><\/select>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Sender name<\/label>\n\t\t\t\t\t\t<input type=\"text\" id=\"lgb-sname\" autocomplete=\"name\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Sender phone<\/label>\n\t\t\t\t\t\t<input type=\"tel\" id=\"lgb-sphone\" placeholder=\"09\u2026\" autocomplete=\"tel\">\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Receiver name<\/label>\n\t\t\t\t\t\t<input type=\"text\" id=\"lgb-rname\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Receiver phone<\/label>\n\t\t\t\t\t\t<input type=\"tel\" id=\"lgb-rphone\" placeholder=\"09\u2026\">\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"lgb-field lgb-col2\">\n\t\t\t\t\t\t<label>Goods description<\/label>\n\t\t\t\t\t\t<textarea id=\"lgb-goods\" rows=\"2\" placeholder=\"What are we moving?\"><\/textarea>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Declared value (ZMW)<\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"lgb-value\" min=\"0\" step=\"0.01\" placeholder=\"0.00\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"lgb-field\">\n\t\t\t\t\t\t<label>Preferred pickup date<\/label>\n\t\t\t\t\t\t<input type=\"date\" id=\"lgb-date\">\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<!-- Honeypot: humans never see or fill this -->\n\t\t\t\t\t<div class=\"lgb-hp\" aria-hidden=\"true\"><label>Company website<\/label><input type=\"text\" id=\"lgb-website\" tabindex=\"-1\" autocomplete=\"off\"><\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"lgb-quote\" id=\"lgb-quote\" hidden>\n\t\t\t\t\t<span>Estimated charge<\/span>\n\t\t\t\t\t<strong id=\"lgb-quote-amount\">\u2014<\/strong>\n\t\t\t\t\t<small>Final charge confirmed at collection.<\/small>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"lgb-actions\">\n\t\t\t\t\t<button type=\"button\" class=\"lgb-btn ghost\" id=\"lgb-estimate\">Get estimate<\/button>\n\t\t\t\t\t<button type=\"button\" class=\"lgb-btn solid\" id=\"lgb-submit\">Book shipment<\/button>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"lgb-msg\" id=\"lgb-msg\" hidden><\/div>\n\n\t\t\t\t<div class=\"lgb-success\" id=\"lgb-success\" hidden>\n\t\t\t\t\t<div class=\"lgb-check\">\u2713<\/div>\n\t\t\t\t\t<h3>Booking received<\/h3>\n\t\t\t\t\t<p>Your waybill number:<\/p>\n\t\t\t\t\t<div class=\"lgb-waybill\" id=\"lgb-waybill\"><\/div>\n\t\t\t\t\t<p class=\"lgb-keep\">Keep this number \u2014 you'll need it to monitor your shipment.<\/p>\n\t\t\t\t\t<div class=\"lgb-success-actions\">\n\t\t\t\t\t\t<a class=\"lgb-btn solid\" id=\"lgb-track-link\" href=\"#\">Monitor this shipment<\/a>\n\t\t\t\t\t\t<button type=\"button\" class=\"lgb-btn ghost\" id=\"lgb-again\">Book another<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t<p class=\"lgb-credit\">Powered by LogisticsOS<\/p>\t\t\t<\/div>\n\t\t<\/div>\n\t\t<script>\n\t\t(function(){\n\t\t\tvar CFG = {\"api\":\"https:\\\/\\\/peshidelivery.com\\\/zm\\\/wp-json\\\/logisticsos\\\/v1\\\/public\\\/\",\"rates\":[{\"id\":\"4\",\"name\":\"3-Ton Truck \\u2014 Per KM\",\"service\":\"standard\",\"vehicle_class\":\"truck_3t\",\"basis\":\"per_km\",\"base_fee\":\"500.00\",\"rate_amount\":\"18.00\",\"min_charge\":\"1500.00\",\"currency\":\"ZMW\"},{\"id\":\"5\",\"name\":\"30-Ton Interlink \\u2014 Cross-Border Per KM\",\"service\":\"cross_border\",\"vehicle_class\":\"truck_30t\",\"basis\":\"per_km\",\"base_fee\":\"2500.00\",\"rate_amount\":\"42.00\",\"min_charge\":\"15000.00\",\"currency\":\"ZMW\"},{\"id\":\"1\",\"name\":\"Bike Express \\u2014 Lusaka Metro\",\"service\":\"express\",\"vehicle_class\":\"bike\",\"basis\":\"flat\",\"base_fee\":\"0.00\",\"rate_amount\":\"60.00\",\"min_charge\":\"60.00\",\"currency\":\"ZMW\"},{\"id\":\"2\",\"name\":\"Motorbike Same-Day \\u2014 Lusaka\",\"service\":\"same_day\",\"vehicle_class\":\"motorbike\",\"basis\":\"flat\",\"base_fee\":\"0.00\",\"rate_amount\":\"100.00\",\"min_charge\":\"100.00\",\"currency\":\"ZMW\"},{\"id\":\"3\",\"name\":\"Van \\u2014 Per KG Intercity\",\"service\":\"standard\",\"vehicle_class\":\"van\",\"basis\":\"per_kg\",\"base_fee\":\"150.00\",\"rate_amount\":\"6.50\",\"min_charge\":\"250.00\",\"currency\":\"ZMW\"}],\"borders\":[\"Chirundu OSBP\",\"Kasumbalesa\",\"Nakonde\\u2013Tunduma OSBP\",\"Kazungula Bridge OSBP\",\"Mwami\\u2013Mchinji\",\"Victoria Falls\",\"Katima Mulilo (Sesheke)\",\"Mokambo\",\"Sakania\",\"Jimbe\",\"Chanida\",\"Other\"],\"trackUrl\":\"https:\\\/\\\/peshidelivery.com\\\/zm\\\/track-shipment\\\/\",\"currency\":\"ZMW\",\"basisUnits\":{\"per_kg\":\"kg\",\"per_km\":\"km\",\"per_m3\":\"m\\u00b3\",\"flat\":\"\"},\"basisLabels\":{\"per_kg\":\"Chargeable weight (kg)\",\"per_km\":\"Trip distance (km)\",\"per_m3\":\"Cargo volume (m\\u00b3)\",\"flat\":\"\"}};\n\t\t\tvar $ = function(id){ return document.getElementById(id); };\n\t\t\tvar mode = 'local';\n\t\t\tvar rateSel = $('lgb-rate'), borderSel = $('lgb-border');\n\n\t\t\tfunction esc(s){ var d=document.createElement('div'); d.textContent=String(s==null?'':s); return d.innerHTML; }\n\t\t\tfunction money(n, cur){ try { return new Intl.NumberFormat('en-ZM',{style:'currency',currency:cur||CFG.currency}).format(n); } catch(e){ return (cur||CFG.currency)+' '+Number(n).toFixed(2); } }\n\t\t\tfunction msg(text, kind){ var m=$('lgb-msg'); m.hidden=false; m.className='lgb-msg '+(kind||'err'); m.textContent=text; }\n\t\t\tfunction clearMsg(){ $('lgb-msg').hidden = true; }\n\n\t\t\t\/\/ Populate selects\n\t\t\tCFG.rates.forEach(function(r){\n\t\t\t\tvar o = document.createElement('option');\n\t\t\t\to.value = r.id;\n\t\t\t\to.textContent = r.name + (r.basis !== 'flat' ? ' \u2014 ' + money(r.rate_amount, r.currency) + '\/' + (CFG.basisUnits[r.basis]||'') : ' \u2014 ' + money(r.rate_amount, r.currency));\n\t\t\t\to.dataset.basis = r.basis;\n\t\t\t\trateSel.appendChild(o);\n\t\t\t});\n\t\t\tCFG.borders.forEach(function(b){\n\t\t\t\tvar o = document.createElement('option'); o.value = b; o.textContent = b; borderSel.appendChild(o);\n\t\t\t});\n\n\t\t\tfunction syncBasis(){\n\t\t\t\tvar opt = rateSel.options[rateSel.selectedIndex];\n\t\t\t\tvar basis = opt ? opt.dataset.basis : 'per_kg';\n\t\t\t\tvar wrap = $('lgb-qty-wrap');\n\t\t\t\tif (basis === 'flat') { wrap.hidden = true; }\n\t\t\t\telse { wrap.hidden = false; $('lgb-qty-label').textContent = CFG.basisLabels[basis] || 'Quantity'; }\n\t\t\t}\n\t\t\trateSel.addEventListener('change', function(){ syncBasis(); $('lgb-quote').hidden = true; });\n\t\t\tsyncBasis();\n\n\t\t\t\/\/ Local \/ International toggle\n\t\t\tdocument.querySelectorAll('.lgb-tab').forEach(function(t){\n\t\t\t\tt.addEventListener('click', function(){\n\t\t\t\t\tdocument.querySelectorAll('.lgb-tab').forEach(function(x){ x.classList.remove('is-on'); });\n\t\t\t\t\tt.classList.add('is-on');\n\t\t\t\t\tmode = t.dataset.mode;\n\t\t\t\t\tdocument.querySelector('.lgb-xb').hidden = (mode !== 'international');\n\t\t\t\t\tclearMsg();\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tfunction payload(){\n\t\t\t\treturn {\n\t\t\t\t\tmode: mode,\n\t\t\t\t\trate_id: parseInt(rateSel.value || 0, 10),\n\t\t\t\t\tquantity: parseFloat($('lgb-qty').value || 0),\n\t\t\t\t\tpieces: parseInt($('lgb-pieces').value || 1, 10),\n\t\t\t\t\torigin: $('lgb-origin').value.trim(),\n\t\t\t\t\tdestination: $('lgb-destination').value.trim(),\n\t\t\t\t\tborder_post: mode === 'international' ? borderSel.value : '',\n\t\t\t\t\tsender_name: $('lgb-sname').value.trim(),\n\t\t\t\t\tsender_phone: $('lgb-sphone').value.trim(),\n\t\t\t\t\treceiver_name: $('lgb-rname').value.trim(),\n\t\t\t\t\treceiver_phone: $('lgb-rphone').value.trim(),\n\t\t\t\t\tgoods_description: $('lgb-goods').value.trim(),\n\t\t\t\t\tdeclared_value: parseFloat($('lgb-value').value || 0),\n\t\t\t\t\tpickup_date: $('lgb-date').value,\n\t\t\t\t\twebsite: $('lgb-website').value \/\/ honeypot\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfunction post(path, body){\n\t\t\t\treturn fetch(CFG.api + path, {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: { 'Content-Type': 'application\/json' },\n\t\t\t\t\tbody: JSON.stringify(body)\n\t\t\t\t}).then(function(r){ return r.json().then(function(j){ return { ok: r.ok, j: j }; }); });\n\t\t\t}\n\n\t\t\t$('lgb-estimate').addEventListener('click', function(){\n\t\t\t\tclearMsg();\n\t\t\t\tvar p = payload();\n\t\t\t\tif (!p.rate_id) { msg('Choose a service first.'); return; }\n\t\t\t\tpost('quote', { rate_id: p.rate_id, quantity: p.quantity }).then(function(res){\n\t\t\t\t\tif (!res.ok) { msg(res.j.message || 'Could not calculate an estimate.'); return; }\n\t\t\t\t\t$('lgb-quote').hidden = false;\n\t\t\t\t\t$('lgb-quote-amount').textContent = money(res.j.amount, res.j.currency);\n\t\t\t\t}).catch(function(){ msg('Could not reach the booking service.'); });\n\t\t\t});\n\n\t\t\t$('lgb-submit').addEventListener('click', function(){\n\t\t\t\tclearMsg();\n\t\t\t\tvar p = payload();\n\t\t\t\tif (!p.rate_id) { msg('Choose a service.'); return; }\n\t\t\t\tif (!p.origin || !p.destination) { msg('Enter pickup and delivery locations.'); return; }\n\t\t\t\tif (!p.sender_name || !p.sender_phone) { msg('Enter sender name and phone.'); return; }\n\t\t\t\tif (!p.receiver_name || !p.receiver_phone) { msg('Enter receiver name and phone.'); return; }\n\t\t\t\tif (mode === 'international' && !p.border_post) { msg('Choose a border crossing.'); return; }\n\n\t\t\t\tvar btn = $('lgb-submit'); btn.disabled = true; btn.textContent = 'Booking\u2026';\n\t\t\t\tpost('book', p).then(function(res){\n\t\t\t\t\tbtn.disabled = false; btn.textContent = 'Book shipment';\n\t\t\t\t\tif (!res.ok) { msg(res.j.message || 'Booking failed. Please try again.'); return; }\n\t\t\t\t\tdocument.querySelector('.lgb-grid').hidden = true;\n\t\t\t\t\tdocument.querySelector('.lgb-toggle').hidden = true;\n\t\t\t\t\tdocument.querySelector('.lgb-actions').hidden = true;\n\t\t\t\t\t$('lgb-quote').hidden = true;\n\t\t\t\t\t$('lgb-success').hidden = false;\n\t\t\t\t\t$('lgb-waybill').textContent = res.j.waybill;\n\t\t\t\t\tvar url = CFG.trackUrl + (CFG.trackUrl.indexOf('?') > -1 ? '&' : '?') + 'waybill=' + encodeURIComponent(res.j.waybill);\n\t\t\t\t\t$('lgb-track-link').href = url;\n\t\t\t\t}).catch(function(){\n\t\t\t\t\tbtn.disabled = false; btn.textContent = 'Book shipment';\n\t\t\t\t\tmsg('Could not reach the booking service.');\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t$('lgb-again').addEventListener('click', function(){ window.location.reload(); });\n\t\t})();\n\t\t<\/script>\n\t\t <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":9,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3485","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/pages\/3485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/comments?post=3485"}],"version-history":[{"count":4,"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/pages\/3485\/revisions"}],"predecessor-version":[{"id":3491,"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/pages\/3485\/revisions\/3491"}],"wp:attachment":[{"href":"https:\/\/peshidelivery.com\/zm\/wp-json\/wp\/v2\/media?parent=3485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}